当前位置: 首页 > article >正文

【蓝桥杯】第十六届蓝桥杯 JAVA B组记录

试题 A: 逃离高塔

在这里插入图片描述

很简单,签到题,但是需要注意精度,用int会有溢出风险

答案:202

package lanqiao.t1;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class Main {static class io {static InputStreamReader ins = new InputStreamReader(System.in);static StreamTokenizer in = new StreamTokenizer(ins);static BufferedReader br = new BufferedReader(ins);static PrintWriter out = new PrintWriter(System.out);static int readInt() throws IOException {in.nextToken();return (int) in.nval;}}public static void main(String[] args) {long n = 2025;long ans = 0;for (long i = 1; i <= n; i++) {long num = i * i * i;if (num % 10 == 3) {ans++;}}io.out.println(ans);io.out.flush();}
}

试题 B: 消失的蓝宝

在这里插入图片描述

读完一遍题,发现就是求N的最小,这里令两个日期分别为 a,b,那么就是
(n + a)%b == 0
(n+b)%a==0
第一眼想的是中国剩余定理,但是后面一看可以暴力
可以转换为 求(n+a)%b == 0 ,那么(n+a)一定是 b的倍数,那么就可以转为为:
求 (kb - 9999) % a == 0 ,把k求出来直接反推就行了]

答案: 409876661809331


package lanqiao.t2;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class Main {static class io {static InputStreamReader ins = new InputStreamReader(System.in);static StreamTokenizer in = new StreamTokenizer(ins);static BufferedReader br = new BufferedReader(ins);static PrintWriter out = new PrintWriter(System.out);static int readInt() throws IOException {in.nextToken();return (int) in.nval;}}public static void main(String[] args) {long x = 20250412, y = 20240413;boolean flag = true;for (int i = 9999; i <= 99999999 && flag; i++) {long num = i * y;io.out.println(num);io.out.flush();if ((num - 9999) % x == 0) {io.out.println(i);io.out.flush();break;}}io.out.flush();}}

试题 C: 电池分组

在这里插入图片描述

俺位异或,就是将两个数转成二进制,如果相同的位数都为1,那么结果这一位就是1,其余就是0
有两种想法,一种是统计二进制每一位有多少个,如果最后所有位数都是偶数,那么就是可以的,否则就不行
另外一种就是第一种的简化,如果两组的异或结果相同,那么两个再异或一定为0,所以只需要看是否异或起来结果为0就行


public class Main {static class io {static InputStreamReader ins = new InputStreamReader(System.in);static StreamTokenizer in = new StreamTokenizer(ins);static BufferedReader br = new BufferedReader(ins);static PrintWriter out = new PrintWriter(System.out);public static int readInt() throws IOException {in.nextToken();return (int) in.nval;}}public static void main(String[] args) throws IOException {int t = io.readInt();while (t-- > 0) {int n = io.readInt();int num = 0;for (int i = 1; i <= n; i++) {num = num ^ io.readInt();}if (num == 0) {io.out.println("YES");} else {io.out.println("NO");}io.out.flush();}}
}

试题 D: 魔法科考试

在这里插入图片描述

题意就是用 a数组和b数组进行两两组合,如果为质数,并且小于等于n+m,那么就是有效的,问一共有多少种,其实真正的复杂度在于如何去判断质数,如果暴力那肯定不行,所以需要预处理,用质数筛预处理就行了


public class Main {static class io {static InputStreamReader ins = new InputStreamReader(System.in);static StreamTokenizer in = new StreamTokenizer(ins);static BufferedReader br = new BufferedReader(ins);static PrintWriter out = new PrintWriter(System.out);public static int readInt() throws IOException {in.nextToken();return (int) in.nval;}}static Set<Integer> set = new TreeSet<Integer>();static {int num = 400000;int cnt = 0;int[] st = new int[num + 1];int[] prime = new int[num + 1];for (int i = 2; i <= num; i++) {if (st[i] == 0) {st[i] = 1;prime[cnt++] = i;set.add(i);}for (int j = 0; j < cnt && i * prime[j] <= num; j++) {st[i * prime[j]] = 1;if (i % prime[j] == 0) {break;}}}}public static void main(String[] args) throws IOException {int n = io.readInt(), m = io.readInt();int[] a = new int[n], b = new int[m];for (int i = 0; i < n; i++) {a[i] = io.readInt();}for (int i = 0; i < m; i++) {b[i] = io.readInt();}Arrays.sort(a);Arrays.sort(b);Set<Integer> ans = new HashSet<Integer>();for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {int num = a[i] + b[j];if (num > n + m)break;if (set.contains(num)) {ans.add(num);}}}io.out.print(ans.size());io.out.flush();}
}

试题 E: 爆破

在这里插入图片描述

题意分析:将所有圆链接起来,所用的长度最小,首先想到的就是最小生成树,那么直接用prim或者kruskal算法,那么莫如何转换为算法的模型呢,如果两个圆相交,那么这两个圆心连城的边就是0,如果未相交,那么就是圆心距离-r1-r2,然后建图即可


public class Main {static class io {static InputStreamReader ins = new InputStreamReader(System.in);static StreamTokenizer in = new StreamTokenizer(ins);static BufferedReader br = new BufferedReader(ins);static PrintWriter out = new PrintWriter(System.out);public static int readInt() throws IOException {in.nextToken();return (int) in.nval;}}static class Point {int no;int x;int y;int r;public Point(int no, int x, int y, int r) {this.no = no;this.x = x;this.y = y;this.r = r;}}static int N = 5010;static class Edge implements Comparable<Edge> {int a;int b;double c;public Edge(int a, int b, double c) {this.a = a;this.b = b;this.c = c;}@Overridepublic int compareTo(Edge o) {return Double.compare(this.c, o.c);}}static int[] fa;static int find(int x) {return fa[x] == x ? fa[x] : (fa[x] = find(fa[x]));}public static void main(String[] args) throws IOException {int n = io.readInt();fa = new int[n + 1];for (int i = 1; i <= n; i++) {fa[i] = i;}Point[] points = new Point[n + 1];for (int i = 1; i <= n; i++) {points[i] = new Point(i, io.readInt(), io.readInt(), io.readInt());}int cnt = 0;Edge[] edges = new Edge[n * n];for (int i = 1; i <= n; i++) {for (int j = i + 1; j <= n; j++) {Point point1 = points[i], point2 = points[j];int r1 = point1.r, r2 = point2.r;double dis = Math.sqrt((point1.x - point2.x) * (point1.x - point2.x) + (point1.y - point2.y) * (point1.y - point2.y));if (r1 + r2 < dis) {double d = dis - r1 - r2;edges[cnt++] = new Edge(i, j, d);} else {edges[cnt++] = new Edge(i, j, 0);}}}Arrays.sort(edges, 0, cnt);double ans = 0;for (int i = 0; i < cnt; i++) {Edge edge = edges[i];int f1 = find(edge.a), f2 = find(edge.b);if (f1 == f2)continue;ans += edge.c;fa[f1] = f2;}io.out.printf("%.2f", ans);io.out.flush();}
}

试题 F: 数组翻转

不会,写了个暴力,应该能骗点分

试题 G: 2 的幂

在这里插入图片描述
写了个朴素算法,骗分

试题 H: 研发资源分配

在这里插入图片描述
直接模拟

相关文章:

【蓝桥杯】第十六届蓝桥杯 JAVA B组记录

试题 A: 逃离高塔 很简单&#xff0c;签到题&#xff0c;但是需要注意精度&#xff0c;用int会有溢出风险 答案&#xff1a;202 package lanqiao.t1;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWrit…...

OSPF的接口网络类型【复习篇】

OSPF在不同网络环境下默认的不同工作方式 [a3]display ospf interface g 0/0/0 # 查看ospf接口的网络类型网络类型OSPF接口的网络类型&#xff08;工作方式&#xff09;计时器BMA&#xff08;以太网&#xff09;broadcast &#xff0c;需要DR/BDR的选举hello&#xff1a;10s…...

微信小程序运行机制详解

微信小程序运行机制详解 微信小程序是介于 Web 和原生 App 之间的一种应用形态&#xff0c;具有无需安装、用完即走、体验流畅的特点。本文将从架构层面、运行环境、通信机制等方面深入剖析微信小程序的运行机制。 一、小程序运行架构概览 微信小程序采用双线程模型&#xff…...

python+requests接口自动化测试框架实例教程

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前段时间由于公司测试方向的转型&#xff0c;由原来的web页面功能测试转变成接口测试&#xff0c;之前大多都是手工进行&#xff0c;利用postman和jmeter进行…...

2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

记录刷题的过程、感悟、题解。 希望能帮到&#xff0c;那些与我一同前行的&#xff0c;来自远方的朋友&#x1f609; 大纲&#xff1a; 1、空间-&#xff08;题解&#xff09;-字节单位转换 2、卡片-&#xff08;题解&#xff09;-可以不用当组合来写&#xff0c;思维题 3、直…...

spark课后总结

Spark运行架构 &#xff1a; 运行架构 Spark 采用master - slave&#xff08;主从&#xff09;结构。Driver 相当于master&#xff0c;负责管理集群中的作业任务调度&#xff1b;Executor 相当于slave&#xff0c;负责实际执行任务 核心组件 Driver&#xff1a;是Spark驱动…...

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口&#xff08;Sliding Window&#xff09; 这是TCP协议的核心优化设计&#xff1a; 窗口动态滑动&#xff1a;发送端不需要保留所有已发送的分组&#xff0c;只需维护一个"发送窗口"窗口大小&#xff1a;由接收方通告的接…...

设计模式 --- 原型模式

原型模式是创建型模式的一种&#xff0c;是在一个原型的基础上&#xff0c;建立一致的复制对象的方式。这个原型通常是我们在应用程序生命周期中需要创建多次的一个典型对象。为了避免初始化新对象潜在的性能开销&#xff0c;我们可以使用原型模式来建立一个非常类似于复印机的…...

基于SiamFC的红外目标跟踪

基于SiamFC的红外目标跟踪 1,背景与原理2,SiamFC跟踪方法概述2.1 核心思想2.2 算法优势3,基于SiamFC的红外跟踪代码详解3.1 网络定义与交叉相关模块3.2 SiamFC 跟踪器实现3.3 主程序:利用 OpenCV 实现视频跟踪4,总结与展望在红外监控、无人机防御以及低光照场景中,红外图…...

多模态学习分析(MLA)驱动高中差异化教学策略研究

一、引言 1.1 研究背景 在当今时代&#xff0c;教育数字化转型的浪潮正席卷全球&#xff0c;深刻地改变着教育的面貌。这一转型不仅是技术的革新&#xff0c;更是教育理念、教学模式和教育管理的全面变革。随着互联网、大数据、人工智能等现代信息技术在教育领域的广泛应用&a…...

设计模式 - 单例

单例设计模式 单例设计模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。 在 JavaScript 里&#xff0c;有多种实现单例设计模式的方式&#xff0c;下面为你详细介绍&#xff1a; 1. 简单对象字面量实现 这是…...

汽车软件开发常用的建模工具汇总

目录 往期推荐 1.Enterprise Architect&#xff08;EA&#xff09; 2.MATLAB/Simulink 3.TargetLink 4.Rational Rhapsody 5.AUTOSAR Builder 6.PREEvision 总结 往期推荐 2025汽车行业新宠&#xff1a;欧企都在用的工具软件ETAS工具链自动化实战指南&#xff1c;一&am…...

SSM废品买卖回收管理系统的设计与实现

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 07…...

@SchedulerLock 防止分布式环境下定时任务并发执行

背景 在一个有多个服务实例的分布式系统中&#xff0c;如果你用 Scheduled 来定义定时任务&#xff0c;所有实例都会执行这个任务。ShedLock 的目标是只让一个实例在某一时刻执行这个定时任务。 使用步骤 引入依赖 当前以redisTemplate为例子&#xff0c;MongoDB、Zookeeper…...

实信号的傅里叶变换为何属于埃尔米特函数?从数学原理到 MATLAB 动态演示

引言 在信号处理领域&#xff0c;傅里叶变换是分析信号在频域表现的重要工具。特别是对于实信号&#xff0c;实信号是指在时间或空间域内取值为实数的信号&#xff0c;例如音频信号、温度变化等&#xff0c;它的傅里叶变换展现了一个非常特殊的数学性质——共轭对称性&#xf…...

【VitePress】新增md文件后自动更新侧边栏导航

目录 说在前面先看效果代码结构详细说明侧边栏格式utils监听文件变化使用pm2管理监听进程 说在前面 操作系统&#xff1a;windows11node版本&#xff1a;v18.19.0npm版本&#xff1a;10.2.3vitepress版本&#xff1a;1.6.3完整代码&#xff1a;github 先看效果 模板用的就是官…...

docker部署scylladb

创建存储数据的目录和配置目录 mkdir -p /root/docker/scylla/data/data /root/docker/scylla/data/commitlog /root/docker/scylla/data/hints /root/docker/scylla/data/view_hints /root/docker/scylla/conf快速启动拷贝配置文件 docker run -d \--name scylla \scylladb/…...

Android 16应用适配指南

Android 16版本特性介绍 https://developer.android.com/about/versions/16?hlzh-cn Android 16 所有功能和 API 概览 https://developer.android.com/about/versions/16/features?hlzh-cn#language-switching Android 16 发布时间 Android 16 适配指南 Google开发平台&…...

2.2goweb解析http请求信息

Go语言的net/http包提供了一些列用于表示HTTP报文的解构。我们可以使用它处理请求和发送响应。其中request结构体代表了客户端发生的请求报文。 核心字段获取方法 1. 请求行信息 通过 http.Request 结构体获取&#xff1a; func handler(w http.ResponseWriter, r *http.Req…...

本地部署大模型(ollama模式)

分享记录一下本地部署大模型步骤。 大模型应用部署可以选择 ollama 或者 LM Studio。本文介绍ollama本地部署 ollama官网为&#xff1a;https://ollama.com/ 进入官网&#xff0c;下载ollama。 ollama是一个模型管理工具和平台&#xff0c;它提供了很多国内外常见的模型&…...

KWDB创作者计划—KWDB:国产分布式多模数据库的创新实践

在数字化转型的浪潮中&#xff0c;数据管理技术正经历着前所未有的变革。随着物联网、人工智能等技术的飞速发展&#xff0c;企业面临着海量多源异构数据的管理挑战。KWDB&#xff08;KaiwuDB Community Edition&#xff09;作为一款面向AIoT场景的分布式多模数据库&#xff0c…...

redis之缓存击穿

一、前言 本期我们聊一下缓存击穿&#xff0c;其实缓存击穿和缓存穿透很相似&#xff0c;区别就是&#xff0c;缓存穿透是一些黑客故意请求压根不存在的数据从而达到拖垮系统的目的&#xff0c;是恶意的&#xff0c;有针对性的。缓存击穿的情况是&#xff0c;数据确实存在&…...

txt、Csv、Excel、JSON、SQL文件读取(Python)

txt、Csv、Excel、JSON、SQL文件读取&#xff08;Python&#xff09; txt文件读写 创建一个txt文件 fopen(rtext.txt,r,encodingutf-8) sf.read() f.close() print(s)open( )是打开文件的方法 text.txt’文件名 在同一个文件夹下所以可以省略路径 如果不在同一个文件夹下 ‘…...

【学习笔记】两个类之间的数据交互方式

在面向对象编程中&#xff0c;两个类之间的数据交互可以通过以下几种方式实现&#xff0c;具体选择取决于需求和设计模式&#xff1a; 1. 通过方法调用 一个类通过调用另一个类的公共方法来获取或传递数据。这是最常见的方式&#xff0c;符合封装原则。 class ClassA:def __…...

【NLP解析】多头注意力+掩码机制+位置编码:Transformer三大核心技术详解

目录 多头注意力&#xff1a;让模型化身“多面手” 技术细节&#xff1a;多头注意力如何计算&#xff1f; 实际应用&#xff1a;多头注意力在Transformer中的威力 为什么说多头是“非线性组合”&#xff1f; 实验对比&#xff1a;多头 vs 单头 进阶思考&#xff1a;如何设计更高…...

Downlink Sensing in 5G-Advanced and 6G: SIB1-assisted SSB Approach

摘要——本文研究了利用现有5G NR信号进行网络侧集成感知与通信&#xff08;ISAC&#xff09;的潜力。通常&#xff0c;由于其频繁的周期性可用性和波束扫描特性&#xff0c;同步信号块&#xff08;SSB&#xff09;是适合用于下行感知的候选信号。然而&#xff0c;正如本文所示…...

设计模式 Day 8:策略模式(Strategy Pattern)完整讲解与实战应用

&#x1f504; 前情回顾&#xff1a;Day 7 重点回顾 在 Day 7 中&#xff0c;我们彻底讲透了观察者模式&#xff1a; 它是典型的行为型模式&#xff0c;核心理念是“一变多知”&#xff0c;当一个对象状态变化时&#xff0c;自动通知所有订阅者。 我们通过 RxCpp 实现了工业…...

ONVIF/RTSP/RTMP协议EasyCVR视频汇聚平台RTMP协议配置全攻略 | 直播推流实战教程

在现代化的视频管理和应急指挥系统中&#xff0c;RTMP协议作为一种高效的视频流传输方式&#xff0c;正变得越来越重要。无论是安防监控、应急指挥&#xff0c;还是物联网视频融合&#xff0c;掌握RTMP协议的接入和配置方法&#xff0c;都是提升系统性能和效率的关键一步。 今天…...

单片机领域中哈希表

以下是单片机领域中哈希表的实际应用及编程实例&#xff1a; 1.哈希表在单片机中的实际应用场景 • 命令解析&#xff1a;在单片机通信中&#xff0c;经常需要解析接收到的命令。使用哈希表可以快速地将命令字符串映射到对应的处理函数&#xff0c;提高命令解析的效率。 • 数…...

《微服务与事件驱动架构》读书分享

《微服务与事件驱动架构》读书分享 Building Event-Driver Microservices 英文原版由 OReilly Media, Inc. 出版&#xff0c;2020 作者&#xff1a;[加] 亚当 • 贝勒马尔 译者&#xff1a;温正东 作者简介&#xff1a; 这本书由亚当贝勒马尔&#xff08;Adam Bellemare…...