第15届蓝桥杯省赛题目Java

您所在的位置:网站首页 蓝桥杯真题和答案java 第15届蓝桥杯省赛题目Java

第15届蓝桥杯省赛题目Java

2024-07-12 10:51| 来源: 网络整理| 查看: 265

刚参加完蓝桥杯,整理一下竞赛题目供大家参考,有思路的伙伴可以互相交流一下

题型分值结果填空题 * 210分编程题 * 690分 结果填空题 A. 劲舞团(5分)

【问题描述】 小蓝最近迷上了一款名为“劲舞团”的游戏,具体来说,只要按照游戏中给出的键位提示依次按出对应的键位,游戏人物便可以跟随节奏跳舞。对于连续的 K 次正确敲击,如果任意连续的两次敲击间间隔时间都小于等于 1s,那么我们称这是一次 K 连击。现在给出一局小蓝的游戏记录文件,log.txt 中记录了N 条记录,每条记录有三个字段,依次为正确的敲击字符、小蓝打出的字符、打出字符的时间对应的毫秒时间戳。现在请你计算下最长的 K 连击是多少,你只需要输出 K 的值。 在这里插入图片描述

B. 召唤数学精灵(5分)

【问题描述】 数学家们发现了两种用于召唤强大的数学精灵的仪式,这两种仪式分别被称为累加法仪式 A(n) 和累乘法仪式 B(n)。累加法仪式 A(n) 是将从 1 到 n 的所有数字进行累加求和,即:A(n) =1 + 2 + · · · + n 。累乘法仪式 B(n) 则是将从 1 到 n 的所有数字进行累乘求积,即:B(n) =1 × 2 × · · · × n 。据说,当某个数字 i 满足 A(i) − B(i) 能被 100 整除时,数学精灵就会被召唤出来。现在,请你寻找在 1 到 2024041331404202 之间有多少个数字 i,能够成功召唤出强大的数学精灵。

编程题 C. 封闭图形个数(10分)

【问题描述】 在蓝桥王国,数字的大小不仅仅取决于它们的数值大小,还取决于它们所形成的“封闭图形”的个数。封闭图形是指数字中完全封闭的空间,例如数字 1、2、3、5、7 都没有形成封闭图形,而数字 0、4、6、9 分别形成了 1 个封闭图形,数字 8 则形成了 2个封闭图形。值得注意的是,封闭图形的个数是可以累加的。例如,对于数字68,由于 6 形成了 1 个封闭图形,而 8 形成了 2 个,所以 68 形成的封闭图形的个数总共为 3。 在比较两个数的大小时,如果它们的封闭图形个数不同,那么封闭图形个 数较多的数更大。例如,数字 41 和数字 18,它们对应的封闭图形的个数分别为 1 和 2,因此数字 41 小于数组 18。如果两个数的封闭图形个数相同,那么数值较大的数更大。例如,数字 14 和数字 41,它们的封闭图形的个数都是 1,但 14 < 41,所以数字 14 小于数字 41。如果两个数字的封闭图形个数和数值都相同,那么这两个数字被认为是相等的。 小蓝对蓝桥王国的数字大小规则十分感兴趣。现在,他将给定你 n 个数a1, a2, . . . , an,请你按照蓝桥王国的数字大小规则,将这 n 数从小到大序,并输出排序后结果。 【输入格式】 输入的第一行包含一个整数 n ,表示给定的数字个数。 第二行包含 n 个整数 a1, a2, . . . , an ,相邻整数之间使用一个空格分隔,表示待排序的数字。 【输出格式】 输出一行包含 n 个整数,相邻整数之间使用一个空格分隔,表示按照蓝桥王国的数字大小规则从小到大排序后的结果。 【样例输入】 3 18 29 6 【样例输出】 6 29 18 【样例说明】 对于给定的数字序列 [18, 29, 6],数字 18 的封闭图形个数为 2,数字 29 的封闭图形个数为 1,数字 6 的封闭图形个数为 1。按照封闭图形个数从小到大排序后,得到 [29, 6, 18]。由于数字 29 和数字 6 的封闭图形个数相同,因此需要进一步按照数值大小对它们进行排序,最终得到 [6, 29, 18]。 【评测用例规模与约定】 对于 50% 的评测用例,1 ≤ n ≤ 2 × 103,1 ≤ ai ≤ 105。 对于所有评测用例,1 ≤ n ≤ 2 × 105,1 ≤ ai ≤ 109。

D. 商品库存管理(10分)

【问题描述】 在库存管理系统中,跟踪和调节商品库存量是关键任务之一。小蓝经营的仓库中存有多种商品,这些商品根据类别和规格被有序地分类并编号,编号范围从 1 至 n。初始时,每种商品的库存量均为 0。 为了高效地监控和调整库存量,小蓝的管理团队设计了 m 个操作,每个操作涉及到一个特定的商品区间,即一段连续的商品编号范围(例如区间 [L,R])。 执行这些操作时,区间内每种商品的库存量都将增加 1。然而,在某些情况下,管理团队可能会决定不执行某些操作,使得这些操作涉及的商品区间内的库存量不会发生改变,维持原有的状态。 现在,管理团队需要一个评估机制,来确定如果某个操作未被执行,那么 最终会有多少种商品的库存量为 0。对此,请你为管理团队计算出,对于每个操作,如果不执行该操作而执行其它操作,库存量为 0 的商品的种类数。 【输入格式】 输入的第一行包含两个整数 n 和 m,分别表示商品的种类数和操作的个数。 接下来的 m 行,每行包含两个整数 L 和 R,表示一个操作涉及的商品区 间。 【输出格式】 输出 m 行,每行一个整数,第 i 行的整数表示如果不执行第 i 个操作,则最终库存量为 0 的商品种类数。 【样例输入】 5 3 1 2 2 4 3 5 【样例输出】 1 0 1 【样例说明】 考虑不执行每个操作时,其余操作对商品库存的综合影响:

不执行操作 1:剩余的操作是操作 2(影响区间 [2, 4])和操作 3(影响区间 [3, 5])。执行这两个操作后,商品库存序列变为 [0, 1, 2, 2, 1]。在这种情况下,只有编号为 1 的商品的库存量为 0。因此,库存量为 0 的商品种类数为 1。不执行操作 2:剩余的操作是操作 1(影响区间 [1, 2])和操作 3(影响区间 [3, 5])。执行这两个操作后,商品库存序列变为 [1, 1, 1, 1, 1]。在这种情况下,所有商品的库存量都不为 0。因此,库存量为 0 的商品种类数为 0。不执行操作 3:剩余的操作是操作 1(影响区间 [1, 2])和操作 2(影响区间 [2, 4])。执行这两个操作后,商品库存序列变为 [1, 2, 1, 1, 0]。在这种情况下,只有编号为 5 的商品的库存量为 0。因此,库存量为 0 的商品种类数为 1。 【评测用例规模与约定】 对于 20% 的评测用例,1 ≤ n, m ≤ 5 × 103,1 ≤ L ≤ R ≤ n。 对于所有评测用例,1 ≤ n, m ≤ 3 × 105,1 ≤ L ≤ R ≤ n。 E. 砍柴(15分)

【问题描述】 小蓝和小乔正在森林里砍柴,它们有 T 根长度分别为 n1, n2, · · · , nT 的木头。对于每个初始长度为 n 的木头,小蓝和小乔准备进行交替砍柴,小蓝先出手。每次砍柴时,若当前木头长度为 x ,需要砍下一截长度为 p 的木头,然后换另一个人继续砍,其中 2 ≤ p ≤ x 且 p 必须为质数。当轮到某一方时 x = 1 或x = 0 ,它就没法继续砍柴,它就输了。它们会使用最优策略进行砍柴。请对每根木头判断是小蓝赢还是小乔赢,如果小蓝赢请输出 1 (数字 1),如果小乔赢请输出 0 (数字 0)。 【输入格式】 输入的第一行包含一个正整数 T, 接下来 T 行,每行包含一个正整数,其中第 i 的整数为 ni 。 【输出格式】 输出 T 行,每行包含一个整数,依次表示对于每一根木头的答案。 【样例输入】 3 1 2 6 【样例输出】 0 1 1 【样例说明】 对于 n1 = 1 ,由于当前长度 x = 1 ,小蓝直接输掉,小乔赢; 对于 n2 = 2 ,小蓝选择 p = 2 ,轮到小乔时当前长度 x = 2 − 2 = 0 ,小乔输掉,小蓝赢; 对于 n3 = 6 ,小蓝选择 p = 5 ,轮到小乔时 x = 6 − 5 = 1 ,小乔输掉,小蓝赢。 【评测用例规模与约定】 对于 20% 的评测用例,1 ≤ ni ≤ 103; 对于所有评测用例,1 ≤ ni ≤ 105 ,1 ≤ T ≤ 104。

F. 回文字符串(15分)

【问题描述】 小蓝最近迷上了回文字符串,他有一个只包含小写字母的字符串 S ,小蓝可以往字符串 S 的开头处加入任意数目个指定字符:l、q、b (ASCII 码分别为:108、113、98)。小蓝想要知道他是否能通过这种方式把字符串 S 转化为一个回文字符串。 【输入格式】 输入的第一行包含一个整数 T,表示每次输入包含 T 组数据。 接下来依次描述 T 组数据。 每组数据一行包含一个字符串 S 。 【输出格式】 输出 T 行,每行包含一个字符串,依次表示每组数据的答案。如果可以将S 转化为一个回文字符串输出 Yes,否则输出 No 。 【样例输入】 3 gmgqlq pdlbll aaa 【样例输出】 Yes No Yes 【样例说明】 对于 gmgqlq ,可以在前面加上 qlq => qlqgmgqlq 转化为一个回文字 符串; 对于 pdlbll ,无法转化为一个回文字符串; 对于 aaa ,本身就是一个回文字符串。 【评测用例规模与约定】 对于 50% 的评测用例,1 ≤ |S | ≤ 1000 ,其中 |S | 表示字符串 S 的长度; 对于所有评测用例,1 ≤ T ≤ 10 ,1 ≤∑|S | ≤ 10^6 。

G. 最大异或结点(20分)

【问题描述】 小蓝有一棵树,树中包含 N 个结点,编号为 0, 1, 2, · · · , N − 1 ,其中每个结点上都有一个整数 Xi 。他可以从树中任意选择两个不直接相连的结点 a 、b并获得分数 Xa ⊕ Xb ,其中 ⊕ 表示按位异或操作。 请问小蓝可以获得的最大分数是多少? 【输入格式】 输入的第一行包含一个整数 N ,表示有 N 个结点。 第二行包含 N 个整数 X1, X2, · · · , XN ,相邻整数之间使用一个空格分隔。 第三行包含 N 个整数 F1, F2, · · · , FN ,相邻整数之间使用一个空格分隔, 其中第 i 个整数表示 i 的父结点编号,Fi = −1 表示结点 i 没有父结点。 【输出格式】 输出一行包含一个整数表示答案。 【样例输入】 5 1 0 5 3 4 -1 0 1 0 1 【样例输出】 7 【样例说明】 选择编号为 3 和 4 的结点,x3 = 3 ,x4 = 4 ,他们的值异或后的结果为 3 ⊕ 4 = 7 。 【评测用例规模与约定】 对于 50% 的评测用例,1 ≤ N ≤ 1000 ; 对于所有评测用例,1 ≤ N ≤ 10^5 , 0 ≤ Xi ≤ 2^31 − 1 ,−1 ≤ Fi ≤ N ,Fi , 0 。

H. 植物生命力(20分)

【问题描述】 小蓝是一位资深的植物学家,他专注于研究植物的相互关系和生命力。在他所照料的森林中,每个品种的植物都拥有独特的生命力,彼此之间互不相同。植物的生命力会影响其下级品种的生长。具体地,如果下级品种的生命力数值无法被上级品种的生命力数值整除,或者下级品种的生命力数值大于上级品种的生命力数值时,它们便会受到压制,无法茁壮成长。 为了深入研究和定量分析这一现象,小蓝构建了一种模型。他将森林中的植物品种关系抽象成了一棵包含 n 个结点的树,结点的编号从 1 到 n,代表不同的植物品种。其中,树的根结点编号为 s,结点 i(1 ≤ i ≤ n)的生命力表示为 ai。 现在,小蓝想要对于每个结点 i,统计其子树(以 i 为根的子树)中同时满足以下两个条件的子结点的数量:

子结点的生命力小于结点 i 的生命力 ai。子结点的生命力无法被结点 i 的生命力 ai 整除。 请你帮助小蓝计算出所有子树中满足条件的结点个数的总和。 【输入格式】 输入的第一行包含两个整数 n 和 s,分别表示结点的数量和根结点的编号。 第二行包含 n 个互不相同的整数 a1, a2, · · · , an,相邻整数之间使用一个空格分隔,其中 ai 表示编号为 i 的结点的生命力。接下来的 n − 1 行,每行包含两个整数 u 和 v ,用一个空格分隔,表示编号为 u 和 v 的结点之间存在一条边。 【输出格式】 输出一行包含一个整数,表示所有子树中满足条件的结点个数的总和。 【样例输入】 6 1 6 5 3 2 4 1 1 2 1 3 2 4 2 5 3 6 【样例输出】 4 【样例说明】 在给定的样例中,树的结构如下: 1 / \ 2 3 / \ \ 4 5 6 在以 1 为根的子树中,满足条件的结点有 2, 5,个数为 2。 在以 2 为根的子树中,满足条件的结点有 4, 5,个数为 2。 在以 3 ∼ 6 为根的子树中,没有满足条件的结点,个数均为 0。 因此答案为 2 + 2 = 4。 【评测用例规模与约定】 对于 30% 的评测用例,1 ≤ n ≤ 2 × 103,1 ≤ s, u, v, ai ≤ n,a1, a2, . . . , an 互 不相同。 对于所有评测用例,1 ≤ n ≤ 105,1 ≤ s, u, v, ai ≤ n,a1, a2, . . . , an 互不相同


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3