【蓝桥杯】23年省赛C组
题目总览
- 1.求和
- 2.分糖果
- 3.三国游戏
- 4.平均
- 5.填充
- 6.棋盘
- 7.子矩阵
- 8.公因数匹配
- 9.异或和之差
- 10.太阳
3.求和 - 蓝桥云课 (lanqiao.cn)
问题描述
求
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 7339 | 总提交次数: 8165 | 通过率: 89.9%
难度: 中等 标签: 2023, 模拟, 省赛
参考答案
1 |
|
计算结果是204634714038436
0分糖果 - 蓝桥云课 (lanqiao.cn)
问题描述
两种糖果分别有
只要有其中一个小朋友在两种方案中分到的糖果不完全相同,这两种方案就算作不同的方案。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
总通过次数: 2122 | 总提交次数: 2351 | 通过率: 90.3%
难度: 困难 标签: 2023, 枚举, 省赛, DFS
参考答案
1 |
|
1 |
|
计算结果是5067671
10.三国游戏 - 蓝桥云课 (lanqiao.cn)
问题描述
小蓝正在玩一款游戏。游戏中魏(
当游戏结束时(所有事件的发生与否已经确定),如果
输入格式
输入的第一行包含一个整数
第二行包含
第三行包含
第四行包含
输出格式
输出一行包含一个整数表示答案。
样例输入
1 |
|
样例输出
1 |
|
评测用例规模与约定
对于
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 2106 | 总提交次数: 3250 | 通过率: 64.8%
难度: 困难 标签: 2023, 贪心, 排序, 省赛
参考答案
首先明确游戏结束时(所以发事情发生与否已经确定)仅仅只表示一次游戏会发生1,2…n这几件事情。可能在过程中会出现比如X>Y+Z的情况,此时并不表示某魏国获胜了。而是要等到全部事情发生后比对X与Y+Z的情况才能判断。理解后难度就直线下降了。因此可以枚举魏、蜀、吴三个国家想要获胜最多事情数量,然后取最大值即是答案。 假设魏国获胜:令new_X =[ Ai - Bi - Ci]. 1<=i<=n 为使发生的事件最多,需要从new_Xi最大的地方开始发生,sum_X += new_Xi 当sum_X<=0时,结束。
1 |
|
0平均 - 蓝桥云课 (lanqiao.cn)
问题描述
有一个长度为
输入格式
输入的第一行包含一个正整数
接下来
输出格式
输出一行包含一个正整数表示答案。
样例输入
1 |
|
样例输出
1 |
|
样例说明
只更改第
评测用例规模与约定
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 3s | 512M |
C | 3s | 512M |
Java | 4s | 512M |
Python3 | 5s | 512M |
PyPy3 | 5s | 512M |
Go | 5s | 512M |
JavaScript | 5s | 512M |
参考答案
1 |
|
1.填充 - 蓝桥云课 (lanqiao.cn)
问题描述
有一个长度为
输入格式
输入一行包含一个字符串。
输出格式
输出一行包含一个整数表示答案。
样例输入
1 |
|
样例输出
1 |
|
样例说明
如果在问号处填
评测用例规模与约定
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 2622 | 总提交次数: 3071 | 通过率: 85.4%
难度: 中等 标签: 2023, 贪心, 省赛, 动态规划
参考答案
1 |
|
1.棋盘 - 蓝桥云课 (lanqiao.cn)
问题描述
小蓝拥有
输入格式
输入的第一行包含两个整数
接下来
输出格式
输出
样例输入
1 |
|
样例输出
1 |
|
评测用例规模与约定
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 3s | 512M |
C | 3s | 512M |
Java | 4s | 512M |
Python3 | 10s | 512M |
PyPy3 | 10s | 512M |
Go | 10s | 512M |
JavaScript | 10s | 512M |
参考答案
第一种方法:(超时) 这部分代码通过输入获取棋盘大小 n 和操作数 m。 然后创建一个 n x n 大小的二维数组 board,并将其所有元素初始化为0。 接下来,执行 m 次操作:对于每次操作,从输入中获取操作的范围 x1, y1, x2, y2。 在指定的范围内,对棋盘上的棋子颜色进行取反操作,即白变黑,黑变白。 最后,遍历 board 中的每一行,并使用 join() 和 map() 将每行中的数字连接成字符串并打印出来,确保数字之间有空格分隔。 整个代码的功能是模拟了对一个棋盘进行了 m 次操作,每次操作对指定范围内的棋子颜色进行了取反,并输出了最终每个位置的棋子颜色。
第二种方法:(优化) 在这段代码中,可能的性能瓶颈在于对棋盘的操作。对于每次操作,它使用了两层嵌套的循环来更新棋盘范围内的所有棋子颜色。这样的做法在棋盘较大且操作次数较多的情况下可能会导致性能问题。 一种改进方式是尝试避免在每次操作时都对指定范围内的棋子颜色进行更新。你可以考虑使用差分数组(Difference Array)来优化这一过程。 差分数组是一个数组,用于记录相邻两个元素之间的差值。在这个问题中,可以利用差分数组来记录每一行每个位置的颜色变化次数,而不是直接更新整个棋盘。 这段代码中,我们使用了一个 (n + 1) x (n + 1) 大小的二维数组 diff 来表示差分数组。在操作输入时,我们只更新了差分数组中的值,最后根据差分数组的值计算出最终的棋盘状态。这种方式能够减少更新棋盘的次数,从而提高效率。
1 |
|
用差分前缀和的思想,二维转化为一维一维地处理,由于数据量不大,是可以接受的。另外转换棋子可以使用异或的思想,运行可以快一些。
1 |
|
2.子矩阵 - 蓝桥云课 (lanqiao.cn)
问题描述
给定一个
矩阵的价值为其所有数中的最大值和最小值的乘积。求给定矩阵的所有大小为
答案可能很大,你只需要输出答案对
输入格式
输入的第一行包含四个整数分别表示
输出格式
输出一行包含一个整数表示答案。
样例输入
2 3 1 2
1 2 3
4 5 6
样例输出
1 |
|
样例说明
评测用例规模与约定
对于
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 2s | 256M |
C | 2s | 256M |
Java | 4s | 256M |
Python3 | 4s | 256M |
PyPy3 | 4s | 256M |
Go | 4s | 256M |
JavaScript | 4s | 256M |
总通过次数: 648 | 总提交次数: 1534 | 通过率: 42.2%
难度: 困难 标签: 2023, 单调队列, 省赛
参考答案
暴力是显然不能通过全部测试数据的,需要得到每一个a*b大小的矩阵的最大值和最小值,可以先考虑得到每一行长度为b的窗口中的最大值和最小值,然后在这个基础上求出每一列长度为a的窗口的最大值和最小值。就可以预处理出来每个子矩阵中的最大值和最小值。要求一个滑动窗口中的最大值和最小值是一个基本的单调队列问题。
1 |
|
1.公因数匹配 - 蓝桥云课 (lanqiao.cn)
问题描述
给定
如果存在多组
输入格式
输入的第一行包含一个整数
第二行包含
输出格式
输出一行包含两个整数分别表示题目要求的
样例输入
1 |
|
样例输出
1 |
|
评测用例规模与约定
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 3s | 256M |
C | 3s | 256M |
Java | 4s | 256M |
Python3 | 5s | 256M |
PyPy3 | 5s | 256M |
Go | 5s | 256M |
JavaScript | 5s | 256M |
参考答案
1 |
|
1 |
|
2.异或和之差 - 蓝桥云课 (lanqiao.cn)
问题描述
给定一个含有
输入格式
输入的第一行包含一个整数
第二行包含
输出格式
输出一行包含一个整数表示答案。
样例输入
1 |
|
样例输出
1 |
|
样例说明
两个子段可以分别选
评测用例规模与约定
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 10s | 256M |
PyPy3 | 10s | 256M |
Go | 10s | 256M |
JavaScript | 10s | 256M |
参考答案
1 |
|
01字典树+前缀异或和+后缀异或和 具体实现时:以某一个数字为分界线,分别计算以其为结尾以及以其为起点的最大/最小前缀异或和以及最大/最小后缀异或和,共四个数组,最后答案就是针对各分界点的左侧最大-右侧最小以及右侧最大-左侧最小之间的最大值 ps:pypy提交能过,但python会超时
1 |
|
1.太阳 - 蓝桥云课 (lanqiao.cn)
问题描述
这天,小蓝在二维坐标系的点
输入格式
输入的第一行包含三个正整数
接下来
输出格式
输出一行包含一个正整数表示答案。
样例输入
1 |
|
样例输出
1 |
|
样例说明
第一条线段在最上面被照亮,第二条线段被第一条完全挡住,第三条线段左边的一段能被照亮。
评测用例规模与约定
对于
对于所有评测用例,
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 2s | 256M |
C | 2s | 256M |
Java | 3s | 256M |
Python3 | 4s | 256M |
PyPy3 | 4s | 256M |
Go | 4s | 256M |
JavaScript | 4s | 256M |
总通过次数: 170 | 总提交次数: 421 | 通过率: 40.4%
难度: 中等 标签: 2023, 思维, 省赛, 计算几何
参考答案
1 |
|