1223 第 2 场 小白入门赛/强者挑战赛
1223 第 2 场 小白入门赛/强者挑战赛
- 小白入门赛:https://www.lanqiao.cn/oj-contest/newbie-2/
- 强者挑战赛:https://www.lanqiao.cn/oj-contest/senior-2/
- 题解回放:https://www.bilibili.com/video/BV1kC4y1q75p/
T1. 蓝桥小课堂-平方和【算法赛】
问题描述
蓝桥小课堂开课啦!
平方和公式是一种用于计算连续整数的平方和的数学公式。它可以帮助我们快速求解从 到 的整数的平方和,其中 是一个正整数。
平方和公式的表达式如下:
这个公式可以简化计算过程,避免逐个计算整数的平方并相加。通过直接使用平方和公式,我们可以更高效地求解大规模的平方和问题。
举个例子,如果要计算从 到 的整数的平方和,可以将 的值设为 ,然后将其代入公式中计算:
现在,学习完平方和公式的你需要接受小蓝的考验了。小蓝会给定一个整数 ,请你求出 的值。
输入格式
输入一行包括一个整数 。
输出格式
输出一个整数表示答案。
样例输入
10
样例输出
385
评测数据范围
。
T2. 质数王国【算法赛】
问题描述
在数字王国发生战乱后,小蓝带领着 个数字逃往了隔壁的质数王国。然而,质数王国只允许质数进入。小蓝作为领袖,可以执行以下操作之一:
- 选择一个数字 并将其增加 。
- 选择一个数字 并将其减少 。
现在,请你帮小蓝计算使得 个数字都能进入质数王国的最少操作次数。
输入格式
第一行包括一个整数 。
第二行输入 个整数 表示出逃的数字。
输出格式
输出一个整数表示答案。
样例输入
5
1 2 3 4 5
样例输出
2
说明
将 加 后数组变为 ,所有的数字都变为质数,所以最小的操作数为 。
评测数据范围
。
。
T3. 房顶漏水啦【算法赛】
问题描述
小蓝家的房顶是一个边长为 的正方形,可以看成是由 个边长为 的小正方形格子组成。
从上到下第 行、从左到右第 列的格子用 表示。
小蓝的家由于年久失修,导致房顶有一些地方漏水。总共有 处漏水的地方,我们用 来表示。
于是小蓝来到了五金店,五金店贩卖着一些正方形木板,木板的种类有 种,第 种木板的边长为 。小蓝需要一块能够覆盖所有漏洞的木板,请问小蓝需要购买木板的最小边长是多少?
输入格式
第一行输入两个整数 。
接下面 行,每行两个整数 代表第 个漏洞的位置。
输出格式
输出一个整数,代表木板的最小边长。
样例输入
5 3
3 3
5 3
4 4
样例输出
3
说明
房顶漏洞如下图所示,使用 的正方形可以覆盖掉所有的漏洞。
评测数据范围
。
保证所有的 互不相同。
T4. 取余【算法赛】
问题描述
在学了数论课之后,小桥给了小蓝一个挑战:
小桥规定了两个整数变量 , 的取值范围在 , 的取值范围在 ,他们相互组合会形成 个数对 ,我们定义:
也就是, 等于 对 取模的结果。
小桥问小蓝,在所有的数对中, 的有多少个。
小蓝不会,于是来问你,你需要回答这个问题。
输入格式
第一行输入四个整数:。
输出格式
输出一个整数,表示合法的数对的数量。
样例输入
3 3 1 2
样例输出
4
说明
以下数对是合法的:
。
评测数据范围
。
T5. 数学尖子生【算法赛】
问题描述
小蓝和小桥是蓝桥班上的数学尖子生,他们之间总是充满了各种竞争。
有一天他们进行了一场数学游戏,小蓝每次会给定两个正整数 和 ,小桥需要回答区间 有多少个数 满足 。
- 定义函数 表示非 因数的最小正整数,比如 ,因为 均为 的因数,而 不是 的因数。
作为小桥最好的朋友,请你帮她一起解决这个问题。
输入格式
第一行输入一个整数 表示测试用例数量。
接下来 行,每行包含两个整数 表示一组询问。
输出格式
对于每组询问输出一行一个数字,表示答案。
样例输入
3
2 10
3 10
16 10000000000000000
样例输出
5
4
13875013875
说明
在第一个测试用例中, 中当 时满足 ,所以答案为 。
评测数据范围
,,。
T6. 扫雷【算法赛】
问题描述
扫雷是一款经典的游戏。如下图:
规则如下。
- 地图为 的矩阵。
- 地图中包含地雷和数字。
- 如果某个点是地雷块,那么用
X
表示。 - 如果某个点是数字块,那么用 表示,具体的数值为该点周围地雷的数量(最少为 个,最多为 个)。
- 如果某个点未知,即可能是地雷或者数字,我们用
*
表示。
周围:对于 点来说,周围为 八个位置。需要注意的是,超过边界的点不能算作周围的点。
了解上述规则后,我们得知,可以通过数字块推理出地雷的位置。
小蓝是扫雷高手,他点开了一局游戏。
玩了一段时间之后,他发现没法推断出来到底哪些块是地雷(如上述图片),他感到十分厌烦,觉得这个游戏有 BUG。
于是小蓝找到了你,想让你用计算机判断一下,某些地图残局是否有 BUG。
具体来说,小蓝给你一幅 的地图,地图中只包含数字和 *
(不包含 X
,因为不能点开雷区),小蓝想知道,对于该局面,能否直接推断出所有的 *
的值。如果可以,代表该局面的解唯一,即没有 BUG;如果不能,小蓝就是会认为该局面的解不唯一,游戏产生了 BUG。
输入格式
第一行一个整数 ,代表扫雷地图数量。
对于每一个地图,由以下部分构成:
- 第一行输入两个整数 。
- 接下面 行,每行输入 个字符。
输出格式
输出 行。
第 行对应第 个地图的解情况,每行输出一个字符串:输出 Single
代表只有一种解,即无 BUG,输出 Multiple
代表存在多个解,即有 BUG。
样例输入
2
3 5
01*10
011*0
00000
3 3
***
232
***
样例输出
Single
Multiple
说明
第一个样例就只有一种解:
01X10
01110
00000
第二组样例存在如下多组解:
XX1 01X XXX
232 232 232
01X XX1 000
评测数据范围
。
保证输入中只包含:*
和数字字符,并且至少存在一种合法地图解,即不会存在自相矛盾的残局。
每组的 *
不会超过 个。
T7. 魔术师【算法赛】
问题描述
小蓝是一个魔术师,他正在蓝桥大剧院表演。
台上有一排 个盒子,编号 。表演开始之前,助手会在每个盒子里放入一个小球,小球的颜色有三种,分别为红、黄、蓝。
小蓝有 种魔术操作:
- 颜色互换,小蓝会选择一个区间 和两种颜色 ,对于每一个盒子来说,如果它的编号在 内,并且盒子内的球颜色为 ,那么盒子里球颜色变为 ,如果盒子里的球颜色为 ,那么盒子里球颜色变为 。
- 染色,小蓝会选择一个区间 和两种颜色 ,对于每一个盒子来说,如果它的编号在 内,并且盒子内的球颜色为 ,那么盒子里球颜色变为 。
- 分裂,小蓝会选择一个区间 和一种颜色 ,对于每一个盒子来说,如果它的编号在 内,并且盒子内的球颜色为 ,那么盒子里所有的球由一个分裂成两个。
补充说明:对于三种魔术,在区间内,如果不存在颜色 的球,那么对于颜色 的操作将不会发生;如果不存在颜色 的球,那么同理;如果都不存在,那么什么都不会发生。
例如:对于颜色互换术而言,如果不存在颜色为 的球,但是存在颜色为 的球,那么颜色为 的球将被变成 ,但是将没有颜色为 的球变成 。
小蓝会不断的重复上述三种操作。
你是小蓝的助手,每一次操作后,你都需要回答小蓝,每种颜色的球现在有多少个。答案可能很大,请对 取模。
输入格式
第一行输入两个整数 。
接下来一行,输入 个整数 ,每个盒子里球的初始颜色,为了方便,我们用数字 来表示颜色红、黄。蓝,下述操作同理。
接下来 行,每行包含一个操作,先输入三个整数 , 代表操作区间为编号在 中的盒子, 代表操作种类,后续输入如下:
- 如果 ,输入两个整数 ,代表进行颜色互换术,将区间内 颜色互换,即颜色为 的球变为颜色 ,颜色为 的球变为颜色 。
- 如果 ,输入两个整数 ,代表进行染色术,将区间内 颜色球变为颜色 。
- 如果 ,输入一个整数 ,代表进行分裂术,将区间内所有 颜色的球由一个分裂成两个。
输出格式
输出 行,每行三个整数,表示这次操作结束后,所有盒子中颜色分别为 的球的数量,答案可能很大,请对 取模。
样例输入
5 3
1 1 2 3 1
1 3 1 1 2
2 3 2 1 2
2 4 3 2
样例输出
2 2 1
1 3 1
1 5 1
说明
第一次操作后:。值代表该盒子里球的颜色,角标代表该盒子的球数量。
第二次操作后:。
第三次操作后:。
输入输出数据量较大,请使用较快的输入输出方式。
评测数据范围
。
保证 。
T8. 扫雷 II【算法赛】
问题描述
扫雷是一款经典的游戏。如下图:
规则如下。
- 地图为 的矩阵。
- 地图中包含地雷和数字。
- 如果某个点是地雷块,那么用
X
表示。 - 如果某个点是数字块,那么用 表示,具体的数值为该点周围地雷的数量(最少为 个,最多为 个)。
- 如果某个点未知,即可能是地雷或者数字,我们用
*
表示。
周围:对于 点来说,周围为 八个位置。需要注意的是,超过边界的点不能算作周围的点。
小蓝是扫雷高手,于是他在原来扫雷游戏的基础上改动了一下。
现在给定你一个 的地图,其中第二行全部都不是地雷,第一行和第三行都是未知,小蓝将第二行的数字全部告诉你,请问这幅地图有多少种不同的可能?
也就是说,假设每个格子有 种情况(X
或者 ),那么 的地图总共有 情况,请你找出满足以下两个要求的地图数量:
- 地图合法,即满足扫雷规则。
- 第二行与给定第二行的值相同。
答案可能很大,请对 取模。
输入格式
第一行输入一个整数 。
第二行输入 个整数 ,代表第地图中 行第 列的值。
输出格式
输出一个整数,代表可能的种类数,答案可能很大,请对 取模。
样例输入
3
2 3 2
样例输出
8
说明
以下 种。
XX1 01X XXX 000 X2X 1X1 1XX X10
232 232 232 232 232 232 232 232
01X XX1 000 XXX 1X1 X2X X10 1XX
评测数据范围
。
T9. 香煎七十二餐馆【算法赛】
问题描述
小蓝开了一家餐馆:“香煎七十二餐馆!”
据说共有七十二道菜,每道菜煎炸的次数不一,最简单的只需要煎一次,最复杂的需要煎炸整整七十二次!
开店第一天,举办了一场餐馆派对,免费接待 位顾客。
位顾客坐在一个长桌上,编号 。小蓝的餐馆共有 道菜,编号 。每位顾客只会点一道菜, 位顾客中有 位顾客已经点好了菜,剩下的顾客由小蓝推荐点菜。
由于每位顾客用餐的时候,都会对菜品评头论足,如果两个相邻的顾客吃的是同一道菜,他们难免会讨论,有一些吹毛求疵的顾客可能借此将消极情绪传播给他人。为了避免上述情况发生,导致影响口碑,小蓝将安排相邻的顾客的菜肴都不相同。
请问有多少种不同的安排方案,答案可能很大,请对 取模。
相邻:即编号相邻, 与 和 相邻。注意,这是一张长桌,所以 和 并不相邻。
输入格式
第一行输入两个整数 。
接下来 行,每行两个整数 ,表示编号为 的人已经点好了一份编号为 的菜肴。
输出格式
输出一个整数,表示合法的安排方案数。答案可能很大,请对 取模。
样例输入
3 1
2 1
样例输出
5041
说明
第一个顾客可以安排编号 的菜肴,第三位顾客可以安排编号 的菜肴。共计 。
评测数据范围
。
保证所有的 不相同。