#创作计划# GESP202509 真题
2025-11-21 20:37:27
发布于:重庆
ACGO 上仍然没有在主题库中发出 GESP 202509 的真题,于是我开始帮助 AC 君了。 @AC君 加个精吧.
题解的话,我有空发在另外一个帖子上
一级:
[GESP202509 一级] 金字塔
题目描述
金字塔由 层石块垒成。从塔底向上,每层依次需要 块石块。请问搭建金字塔总共需要多少块石块?
输入格式
一行,一个正整数 ,表示金字塔的层数。
输出格式
一行,一个正整数,表示搭建金字塔所需的石块数量。
输入输出样例 #1
输入 #1
2
输出 #1
5
输入输出样例 #2
输入 #2
5
输出 #2
55
说明/提示
对于所有测试点,保证 。
[GESP202509 一级] 商店折扣
题目描述
商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 元减 元;第二种方案是直接打 折,也就是说价格变为原先的 。这里的 均是正整数,并且 ,。
需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 元减 元时,若挑选了价格总和为 元的物品,只能减免 元,需要支付 元。
小明在商店挑选了价格总和为 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?
输入格式
四行,四个正整数 ,含义见题目描述。
输出格式
一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。
输入输出样例 #1
输入 #1
8
7
9
10
输出 #1
3.00
输入输出样例 #2
输入 #2
8
7
2
11
输出 #2
2.20
说明/提示
对于所有测试点,保证 ,,。
二级:
[GESP202509 二级] 优美的数字
题目描述
如果一个正整数在十进制下的所有数位都相同,小 A 就会觉得这个正整数很优美。例如,正整数 的数位都是 ,所以 是优美的。正整数 的数位都是 ,所以 是优美的。正整数 的数位不都相同,所以 并不优美。
小 A 想知道不超过 的正整数中有多少优美的数字。你能帮他数一数吗?
输入格式
一行,一个正整数 。
输出格式
一行,一个正整数,表示不超过 的优美正整数的数量。
输入输出样例 #1
输入 #1
6
输出 #1
6
输入输出样例 #2
输入 #2
2025
输出 #2
28
说明/提示
对于所有测试点,保证 。
[GESP202509 二级] 菱形
题目描述
小 A 想绘制一个菱形。具体来说,需要绘制的菱形是一个 行 列的字符画, 是一个大于 的奇数。菱形的四个顶点依次位于第 行、第 列、第 行、第 列的正中间,使用 # 绘制。相邻顶点之间也用 # 连接。其余位置都是 .。
例如,一个 行 列的菱形字符画是这样的:
..#..
.#.#.
#...#
.#.#.
..#..
给定 ,请你帮小 A 绘制对应的菱形。
输入格式
一行,一个正整数 。
输出格式
输出共 行,表示对应的菱形。
输入输出样例 #1
输入 #1
3
输出 #1
.#.
#.#
.#.
输入输出样例 #2
输入 #2
9
输出 #2
....#....
...#.#...
..#...#..
.#.....#.
#.......#
.#.....#.
..#...#..
...#.#...
....#....
说明/提示
对于所有测试点,保证 并且 为奇数。
三级:
[GESP202509 三级] 日历制作
题目描述
小 A 想制作 年每个月的日历。他希望你能编写一个程序,按照格式输出给定月份的日历。
具体来说,第一行需要输出 MON TUE WED THU FRI SAT SUN,分别表示星期一到星期日。接下来若干行中依次输出这个月所包含的日期,日期的个位需要和对应星期几的缩写最后一个字母对齐。例如, 年 月 日是星期一,在输出九月的日历时, 号的个位 就需要与星期一 MON 的最后一个字母 N 对齐。九月的日历输出效果如下:
MON TUE WED THU FRI SAT SUN
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
你能帮助小 A 完成日历的制作吗?
输入格式
一行,一个正整数 ,表示需要按照格式输出 年 月的日历。
输出格式
输出包含若干行,表示 年 月的日历。
输入输出样例 #1
输入 #1
9
输出 #1
MON TUE WED THU FRI SAT SUN
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
输入输出样例 #2
输入 #2
6
输出 #2
MON TUE WED THU FRI SAT SUN
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
说明/提示
对于所有测试点,保证 。
[GESP202509 三级] 数组清零
题目描述
小 A 有一个由 个非负整数构成的数组 。他会对阵组 重复进行以下操作,直到数组 只包含 0。在一次操作中,小 A 会依次完成以下三个步骤:
- 在数组 中找到最大的整数,记其下标为 。如果有多个最大值,那么选择其中下标最大的。
- 从数组 所有不为零的整数中找到最小的整数 。
- 将第一步找出的 减去 。
例如,数组 需要 7 次操作变成 :
小 A 想知道,对于给定的数组 ,需要多少次操作才能使得 中的整数全部变成 0。可以证明, 中整数必然可以在有限次操作后全部变成 0。你能帮他计算出答案吗?
输入格式
第一行,一个正整数 ,表示数组 的长度。
第二行, 个非负整数 ,表示数组 中的整数。
输出格式
一行,一个正整数,表示 中整数全部变成 0 所需要的操作次数。
输入输出样例 #1
输入 #1
3
2 3 4
输出 #1
7
输入输出样例 #2
输入 #2
5
1 3 2 2 5
输出 #2
13
说明/提示
对于所有测试点,保证 ,。
四级:
[GESP202509 四级] 排兵布阵
题目描述
作为将军,你自然需要合理地排兵布阵。地图可以视为 行 列的网格,适合排兵的网格以 1 标注,不适合排兵的网格以 0 标注。现在你需要在地图上选择一个矩形区域排兵,这个矩形区域内不能包含不适合排兵的网格。请问可选择的矩形区域最多能包含多少网格?
输入格式
第一行,两个正整数 ,分别表示地图网格的行数与列数。
接下来 行,每行 个整数 ,表示各行中的网格是否适合排兵。
输出格式
一行,一个整数,表示适合排兵的矩形区域包含的最大网格数。
输入输出样例 #1
输入 #1
4 3
0 1 1
1 0 1
0 1 1
1 1 1
输出 #1
4
输入输出样例 #2
输入 #2
3 5
1 0 1 0 1
0 1 0 1 0
0 1 1 1 0
输出 #2
3
说明/提示
对于所有测试点,保证 ,。
[GESP202509 四级] 最长连续段
题目描述
对于 个整数构成的数组 ,如果对 都有 ,那么称数组 是一个连续段。
给定由 个整数构成的数组 ,你可以任意重排数组 中元素顺序。请问在重排顺序之后, 所有是连续段的子数组中,最长的子数组长度是多少?
例如,对于数组 ,可以将其重排为 ,有以下 个子数组:
其中除 以外的子数组均是连续段,因此是连续段的子数组中,最长子数组长度为 3。
输入格式
第一行,一个正整数 ,表示数组长度。
第二行, 个整数 ,表示数组中的整数。
输出格式
一行,一个整数,表示数组 重排顺序后,所有是连续段的子数组的最长长度。
输入输出样例 #1
输入 #1
4
1 0 2 4
输出 #1
3
输入输出样例 #2
输入 #2
9
9 9 8 2 4 4 3 5 3
输出 #2
4
说明/提示
对于 的测试点,保证 。
对于所有测试点,保证 ,。
五级:
[GESP202509 五级] 有趣的数字和
题目背景
为保证只有时间复杂度合理的算法通过本题,本题时限下调。
题目描述
如果一个正整数的二进制表示包含奇数个 ,那么小 A 就会认为这个正整数是有趣的。
例如, 的二进制表示为 ,包含 的个数为 个,所以 是有趣的。但是 包含 个 ,所以 不是有趣的。
给定正整数 ,请你统计满足 的有趣的整数 之和。
输入格式
一行,两个正整数 ,表示给定的正整数。
输出格式
一行,一个正整数,表示 之间有趣的整数之和。
输入输出样例 #1
输入 #1
3 8
输出 #1
19
输入输出样例 #2
输入 #2
65 36248
输出 #2
328505490
说明/提示
【数据范围】
对于 的测试点,保证 。
对于另外 的测试点,保证 并且 ,其中 是大于 的正整数。
对于所有测试点,保证 。
【提示】
由于本题的数据范围较大,整数类型请使用 long long。
[GESP202509 五级] 数字选取
题目描述
给定正整数 ,现在有 共计 个整数。你需要从这 个整数中选取一些整数,使得所选取的整数中任意两个不同的整数均互质(也就是说,这两个整数的最大公因数为 )。请你最大化所选取整数的数量。
例如,当 时,可以选择 共计 个整数。可以验证不存在数量更多的选取整数的方案。
输入格式
一行,一个正整数 ,表示给定的正整数。
输出格式
一行,一个正整数,表示所选取整数的最大数量。
输入输出样例 #1
输入 #1
6
输出 #1
4
输入输出样例 #2
输入 #2
9
输出 #2
5
说明/提示
对于 的测试点,保证 。
对于所有测试点,保证 。
六级:
[GESP202509 六级] 货物运输
题目描述
A 国有 座城市,依次以 编号,其中 号城市为首都。这 座城市由 条双向道路连接,第 条道路()连接编号为 的两座城市,道路长度为 。任意两座城市间均可通过双向道路到达。
现在 A 国需要从首都向各个城市运送货物。具体来说,满载货物的车队会从首都开出,经过一座城市时将对应的货物送出,因此车队需要经过所有城市。A 国希望你设计一条路线,在从首都出发经过所有城市的前提下,最小化经过的道路长度总和。注意一座城市可以经过多次,车队最后可以不返回首都。
输入格式
第一行,一个正整数 ,表示 A 国的城市数量。
接下来 行,每行三个正整数 ,表示一条双向道路连接编号为 的两座城市,道路长度为 。
输出格式
一行,一个整数,表示你设计的路线所经过的道路长度总和。
输入输出样例 #1
输入 #1
4
1 2 6
1 3 1
3 4 5
输出 #1
18
输入输出样例 #2
输入 #2
7
1 2 1
2 3 1
3 4 1
7 6 1
6 5 1
5 1 1
输出 #2
9
说明/提示
对于 的测试点,保证 。
对于另外 的测试点,保证仅与一条双向道路连接的城市恰有两座。
对于所有测试点,保证 ,,。
[GESP202509 六级] 划分字符串
题目描述
小 A 有一个由 个小写字母组成的字符串 。他希望将 划分为若干个子串,使得子串中每个字母至多出现一次。例如,对于字符串 street 来说,str + e + e + t 是满足条件的划分;而 s + tree + t 不是,因为子串 tree 中 e 出现了两次。
额外地,小 A 还给出了价值 ,表示划分后长度为 的子串价值为 。小 A 希望最大化划分后得到的子串价值之和。你能帮他求出划分后子串价值之和的最大值吗?
输入格式
第一行,一个正整数 ,表示字符串的长度。
第二行,一个包含 个小写字母的字符串 。
第三行, 个正整数 ,表示不同长度的子串价值。
输出格式
一行,一个整数,表示划分后子串价值之和的最大值。
输入输出样例 #1
输入 #1
6
street
2 1 7 4 3 3
输出 #1
13
输入输出样例 #2
输入 #2
8
blossoms
1 1 2 3 5 8 13 21
输出 #2
8
说明/提示
对于 的测试点,保证 。
对于所有测试点,保证 ,。
七级:
[GESP202509 七级] 连通图
题目描述
给定一张包含 个结点与 条边的无向图,结点依次以 编号,第 条边()连接结点 与结点 。如果从一个结点经过若干条边可以到达另一个结点,则称这两个结点是连通的。
你需要向图中加入若干条边,使得图中任意两个结点都是连通的。请你求出最少需要加入的边的条数。
注意给出的图中可能包含重边与自环。
输入格式
第一行,两个正整数 ,表示图的点数与边数。
接下来 行,每行两个正整数 ,表示图中一条连接结点 与结点 的边。
输出格式
输出一行,一个整数,表示使得图中任意两个结点连通所需加入的边的最少数量。
输入输出样例 #1
输入 #1
4 4
1 2
2 3
3 1
1 4
输出 #1
0
输入输出样例 #2
输入 #2
6 4
1 2
2 3
3 1
6 5
输出 #2
2
说明/提示
对于 的测试点,保证 ,。
对于所有测试点,保证 ,。
[GESP202509 七级] 金币收集
题目描述
小 A 正在游玩收集金币的游戏。具体来说,在数轴上将会出现 枚金币,其中第 枚()金币将会在时刻 出现在数轴上坐标为 的位置。小 A 必须在时刻 恰好位于坐标 ,才可以获得第 枚金币。
游戏开始时为时刻 ,此时小 A 的坐标为 。正常来说,小 A 可以按游戏机的按键在数轴上左右移动,但不幸的是游戏机的左方向键失灵了。小 A 每个时刻只能选择保持不动,或是向右移动一个单位。换言之,如果小 A 在时刻 的坐标为 ,那么他在时刻 的坐标只能是 或是 二者之一,分别对应保持不动和向右移动。
小 A 想知道他最多能收集多少枚金币。你能帮他收集最多的金币吗?
输入格式
第一行,一个正整数 ,表示金币的数量。
接下来 行,每行两个正整数 ,分别表示金币出现的坐标与时刻。
输出格式
输出一行,一个整数,表示小 A 最多能收集的金币数量。
输入输出样例 #1
输入 #1
3
1 6
3 7
2 4
输出 #1
2
输入输出样例 #2
输入 #2
4
1 1
2 2
1 3
2 4
输出 #2
3
说明/提示
对于 的测试点,保证 。
对于另外 的测试点,保证 ,,。
对于所有测试点,保证 ,,。
八级:
[GESP202509 八级] 最短距离
题目描述
给定正整数 以及常数 。现在构建一张包含 个结点的带权无向图,结点依次以 编号。对于任意满足 的 ,向图中加入一条连接结点 与结点 的无向边,边权取决于 是否互质:
- 若 互质(即 的最大公因数为 ),则连接结点 与结点 的无向边长度为 ;
- 否则连接结点 与结点 的无向边长度为 。
现在给定 组询问,第 ()组询问给定两个正整数 ,你需要回答结点 与结点 之间的最短距离。
输入格式
第一行,三个正整数 ,分别表示询问数量,结点编号互质时的边权,以及结点编号不互质时的边权。
接下来 行,每行两个正整数 ,表示一组询问。
输出格式
输出共 行,每行一个整数,表示结点 与结点 之间的最短距离。
输入输出样例 #1
输入 #1
4 4 3
1 2
2 3
4 2
3 5
输出 #1
4
4
3
4
输入输出样例 #2
输入 #2
5 2 6
1 2
2 3
4 2
3 5
6 6
输出 #2
2
2
4
2
0
说明/提示
对于 的测试点,保证 ,。
对于另外 的测试点,保证 。
对于所有测试点,保证 ,,。
[GESP202509 八级] 最短距离
题目描述
给定正整数 以及常数 。现在构建一张包含 个结点的带权无向图,结点依次以 编号。对于任意满足 的 ,向图中加入一条连接结点 与结点 的无向边,边权取决于 是否互质:
- 若 互质(即 的最大公因数为 ),则连接结点 与结点 的无向边长度为 ;
- 否则连接结点 与结点 的无向边长度为 。
现在给定 组询问,第 ()组询问给定两个正整数 ,你需要回答结点 与结点 之间的最短距离。
输入格式
第一行,三个正整数 ,分别表示询问数量,结点编号互质时的边权,以及结点编号不互质时的边权。
接下来 行,每行两个正整数 ,表示一组询问。
输出格式
输出共 行,每行一个整数,表示结点 与结点 之间的最短距离。
输入输出样例 #1
输入 #1
4 4 3
1 2
2 3
4 2
3 5
输出 #1
4
4
3
4
输入输出样例 #2
输入 #2
5 2 6
1 2
2 3
4 2
3 5
6 6
输出 #2
2
2
4
2
0
说明/提示
对于 的测试点,保证 ,。
对于另外 的测试点,保证 。
对于所有测试点,保证 ,,。
[GESP202509 八级] 最小生成树
题目描述
给定一张包含 个结点 条边的带权连通无向图,结点依次以 编号,第 条边()连接结点 与结点 ,边权为 。
对于每条边,请你求出从图中移除该条边后,图的最小生成树中所有边的边权和。特别地,若移除某条边后图的最小生成树不存在,则输出 。
输入格式
第一行,两个正整数 ,分别表示图的结点数与边数。
接下来 行中的第 行()包含三个正整数 ,表示图中连接结点 与结点 的边,边权为 。
输出格式
输出共 行,第 行()包含一个整数,表示移除第 条边后,图的最小生成树中所有边的边权和。若移除第 条边后图的最小生成树不存在,则输出 。
输入输出样例 #1
输入 #1
5 5
1 2 4
2 3 3
3 4 1
2 5 2
3 1 8
输出 #1
14
15
-1
-1
10
输入输出样例 #2
输入 #2
6 10
1 2 6
2 3 3
3 1 4
3 4 5
4 5 8
5 6 2
6 4 1
3 2 4
5 4 4
3 3 6
输出 #2
15
16
17
-1
15
17
18
15
15
15
说明/提示
| 子任务编号 | 测试点占比 | 特殊性质 | ||
|---|---|---|---|---|
| 1 | - | |||
| 2 | ||||
| 3 | - | |||
| 4 | - |
对于所有测试点,保证 ,,,。
我也有底线 ^_^,至于 Markdown 吗,有空我发出来。。。
全部评论 5
d
14小时前 来自 重庆
0d
14小时前 来自 重庆
0d
14小时前 来自 重庆
0捉
14小时前 来自 浙江
0
d
14小时前 来自 重庆
0d
你好,虽然辛苦但是也打不到加精,谢谢14小时前 来自 重庆
0why
14小时前 来自 重庆
0因为这只是搬题面,如果想加精建议附上题解
14小时前 来自 浙江
0haoba
14小时前 来自 重庆
0



















有帮助,赞一个