蓝桥杯 2025年省赛(Java)真题分享

蓝桥杯 2025年省赛(Java)真题分享

题目来自👉蓝桥杯官网历年真题

试题A:逃离高塔

【问题描述】

小蓝一觉醒来,发现自己被困在一座高耸的塔中。这座塔共有 2025 层,每一层都刻有一个数字的立方值,从底层的 1 3 , 2 3 , 3 3 , … 1^3, 2^3, 3^3, \dots 13,23,33,,一直到顶层的 202 5 3 2025^3 20253,层层叠叠,直入云霄。

塔顶有一扇门,门旁刻着一行字:

“若想离开此塔,需找出这些立方数中个位数字为 3 的数的个数。”

小蓝非常着急,因为他需要尽快离开这座塔,去参加即将到来的蓝桥杯比赛。时间紧迫,请你帮助他解答这个问题。

【答案提交】

这是一道结果填空题,你只需算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题B:消失的蓝宝

【问题描述】

“蓝宝又不见了!”2025年4月12日,蓝桥杯吉祥物“蓝宝”在省赛前夕突然失踪。小蓝翻阅了蓝宝的活动记录,发现它的出现时间似乎与蓝桥杯的两个重要日期密切相关:

  • 第十六届省赛日期:20250412
  • 第十五届省赛日期:20240413

经过分析,小蓝推测蓝宝的下一次出现时间 N N N 满足以下条件:

  1. N + 20250412 N + 20250412 N+20250412 能被 20240413 20240413 20240413 整除。
  2. N + 20240413 N + 20240413 N+20240413 能被 20250412 20250412 20250412 整除。

现在,请你帮小蓝找出满足条件的最小正整数 N N N,预测蓝宝的下一次出现时间。

【答案提交】

这是一道结果填空题,你只需算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题C:电池分组

【问题描述】

研究员小蓝受到实验室主任的指示,需要对实验室新研发的 N N N 个新型能量电池进行分组实验。这 N N N 个能量电池的能量值分别用 A 1 , A 2 , … , A N A_1, A_2, \dots, A_N A1,A2,,AN 表示,每个能量值都是一个整数。为了保证实验的安全性,小蓝需要将这 N N N 个能量电池分成两组,使得这两组能量电池的能量值异或和相等。

能量值的异或和计算方法如下:
对于一个集合 S S S,其异或和等于集合中所有元素的按位异或结果。
例如,集合 { 1 , 2 , 3 } \{1,2,3\} {1,2,3} 的异或和为 1 ⊕ 2 ⊕ 3 = 0 1 \oplus 2 \oplus 3 = 0 123=0,其中 ⊕ \oplus 表示异或运算。

现在,小蓝想知道,这 N N N 个能量电池能否分成两组,使得这两组能量电池的能量值异或和相等。注意,每组至少包含一个能量电池。

【输入格式】

  • 第一行:一个整数 T T T,表示测试用例的数量。
  • 每个测试用例占两行:
    • 第一行:一个整数 N N N,表示能量电池的数量。
    • 第二行: N N N 个整数 A 1 , A 2 , … , A N A_1,A_2,\dots,A_N A1,A2,,AN,表示每个能量电池的能量值。

【输出格式】

对于每个测试用例,输出一行:

  • 如果可以将能量电池分成两组,使得这两组能量电池的能量值异或和相等,则输出 YES
  • 否则,输出 NO

【样例输入】

2
3
1 2 3
4
1 2 3 4

【样例输出】

YES
NO

【评测用例规模与约定】

  • 对于 30% 的评测用例: 1 ≤ T ≤ 10 1 \leq T \leq 10 1T10, 2 ≤ N ≤ 100 2 \leq N \leq 100 2N100, 1 ≤ A i ≤ 1 0 3 1 \leq A_i \leq 10^3 1Ai103
  • 对于 100% 的评测用例: 1 ≤ T ≤ 1 0 3 1 \leq T \leq 10^3 1T103, 1 ≤ N ≤ 1 0 3 1 \leq N \leq 10^3 1N103, 1 ≤ A i ≤ 1 0 5 1 \leq A_i \leq 10^5 1Ai105

试题D:魔法科考试

【问题描述】

小明正在参加魔法科的期末考试,考生需要根据给定的口诀组合出有效的魔法。老师给定了 n n n 个上半部分口诀 α 1 , α 2 , … , α n \alpha_1,\alpha_2,\dots,\alpha_n α1,α2,,αn m m m 个下半部分口诀 b 1 , b 2 , … , b m b_1,b_2,\dots,b_m b1,b2,,bm,均用整数表示。

一个完整的口诀为 S = α i + b j S = \alpha_i + b_j S=αi+bj

S ≤ n + m S \leq n + m Sn+m S S S 为质数时,魔法是有效的。

口诀可重复使用。问共有多少种不同的有效魔法(只和 S S S 的值有关)。

【输入格式】

  • 第一行:两个整数 n , m n, m n,m
  • 第二行: n n n 个整数 α 1 , α 2 , … , α n \alpha_1,\alpha_2,\dots,\alpha_n α1,α2,,αn
  • 第三行: m m m 个整数 b 1 , b 2 , … , b m b_1,b_2,\dots,b_m b1,b2,,bm

【输出格式】

一个整数,表示有效魔法的种类数。

【样例输入】

3 4
2 3 10
3 4 5 1

【样例输出】

3

【评测用例规模与约定】

  • 对于 20% 的数据: n , m ≤ 200 n,m \leq 200 n,m200
  • 对于 60% 的数据: n , m ≤ 2000 n,m \leq 2000 n,m2000
  • 对于 100% 的数据: n , m ≤ 20000 n,m \leq 20000 n,m20000, α i , b j ≤ 20000 \alpha_i,b_j \leq 20000 αi,bj20000

试题E:爆破

【问题描述】

小明正在参加一场爆破工作。人们在地面上放置了 n n n 个爆炸魔法阵,第 i i i 个魔法阵的圆心坐标为 ( x i , y i ) (x_i, y_i) (xi,yi),半径为 r i r_i ri
如果两个魔法阵相交,则它们可以一起引爆;如果不相交,可以使用一条魔法回路将它们的边缘连接起来。

小明想知道:最少需要布置多长的魔法回路总长度,才能使得所有魔法阵可以一起引爆?

【输入格式】

第一行为一个正整数 n n n
接下来的 n n n 行,每行三个整数,表示 x i ,   y i ,   r i x_i,\ y_i,\ r_i xi, yi, ri

【输出格式】

输出一个浮点数,表示答案(四舍五入保留两位小数)。

【样例输入】

4
0 0 1
2 0 2
-3 0 1
4 4 1

【样例输出】

2.47

【样例说明】

连接第 1 和 3 个魔法阵,长度为 1;
连接第 2 和 4 个魔法阵,长度为 2 5 − 3 ≈ 1.47 2\sqrt{5} - 3 \approx 1.47 25 31.47
总长度为 2.47。

【评测用例规模与约定】

  • 对于 40% 的评测用例: n ≤ 500 n \leq 500 n500
  • 对于 100% 的评测用例: n ≤ 5000 n \leq 5000 n5000, ∣ x i ∣ , ∣ y i ∣ ≤ 2000 |x_i|,|y_i| \leq 2000 xi,yi2000, 0 < r i ≤ 20 0 < r_i \leq 20 0<ri20

试题F:数组翻转

【问题描述】

小明生成了一个长度为 n n n 的正整数数组 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,,an
他可以选择连续的一段区间 [ l , r ] [l, r] [l,r] 进行翻转。

然后从整个数组中选择一段连续且值相等的子数组 x , x , … , x x, x, \dots, x x,x,,x,得分为:

得分 = (长度) × (值)

请你帮小明求出进行一次翻转操作后,最多能获得多少分数。

【输入格式】

第一行为一个正整数 n n n
第二行为 n n n 个用空格分隔的正整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,,an

【输出格式】

输出一个整数,表示最大得分。

【样例输入】

7
4 4 3 3 2 1 3

【样例输出】

9

【样例说明】

翻转区间 [ 5 , 7 ] [5,7] [5,7],数组变为:
4 4 3 3 3 1 2,可以选出三个连续的 3,得分为 3 × 3 = 9 3 \times 3 = 9 3×3=9

【评测用例规模与约定】

  • 对于 20% 的评测用例: n ≤ 500 n \leq 500 n500
  • 对于 100% 的评测用例: n ≤ 1 0 6 n \leq 10^6 n106, a i ≤ 1 0 9 a_i \leq 10^9 ai109

试题G:2 的幂

【问题描述】

小明很喜欢 2 2 2 的幂,他有一个正整数数组 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,,an
他可以对任意一个数 a i a_i ai 加上任意正整数(不能超过 1 0 9 10^9 109),使得所有数的乘积是 2 k 2^k 2k 的倍数。

目标:总加数的和最小。如果无法实现,输出 -1

【输入格式】

第一行为两个正整数 n , k n,k n,k
第二行为 n n n 个用空格分隔的正整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,,an

【输出格式】

输出一个整数,表示所加的最小总和;如果无法实现,输出 -1

【样例输入】

3 9
19 10 3

【样例输出】

12

【样例说明】

加到 24 , 16 , 4 24, 16, 4 24,16,4,乘积为 1536 = 2 9 × 3 1536 = 2^9 \times 3 1536=29×3;总共加了 5 + 6 + 1 = 12 5 + 6 + 1 = 12 5+6+1=12

【评测用例规模与约定】

  • 对于 20% 的评测用例: n , k ≤ 10 n,k \leq 10 n,k10
  • 对于 100% 的评测用例: n ≤ 500 n \leq 500 n500, k ≤ 5000 k \leq 5000 k5000, a i ≤ 1 0 5 a_i \leq 10^5 ai105

试题H:研发资源分配

【问题描述】

蓝桥科技公司中,A 与 B 两个部门在为期 N N N 天的研发中每日提交一个需求等级(1~ N N N 的一个排列)。当天资源归等级高者所有,价值等于当天的编号;若两者相同,则资源作废。

已知 B 部门提交顺序 P 1 , P 2 , … , P N P_1,P_2,\dots,P_N P1,P2,,PN,A 部门可以自由安排。请你帮 A 部门安排提交顺序,使得:

A获得的资源总额 - B获得的资源总额 最大。

【输入格式】

  • 第一行:一个整数 N N N
  • 第二行: N N N 个整数 P 1 , P 2 , … , P N P_1,P_2,\dots,P_N P1,P2,,PN

【输出格式】

输出一个整数,表示最大差值。

【样例输入】

3
1 3 2

【样例输出】

2

【样例说明】

A 选择 [2,1,3]:

  • 第1天:A=2 > B=1,A获1
  • 第2天:A=1 < B=3,B获2
  • 第3天:A=3 > B=2,A获3
  • 差值 = 1+3 - 2 = 2

【评测用例规模与约定】

  • 对于 20% 的数据: 1 ≤ N ≤ 11 1 \leq N \leq 11 1N11
  • 对于 100% 的数据: 1 ≤ N ≤ 1 0 5 1 \leq N \leq 10^5 1N105, 所有 P i P_i Pi 均不同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歪比巴卜Bi8Bo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值