- 博客(27)
- 资源 (12)
- 收藏
- 关注
原创 2026年03月 GESP C++三级 选择+判断题全解析
2026年3月GESP C++三级考试解析:涵盖字符编码、位运算、补码、多进制转换、字符串操作、数组长度计算等核心知识点。重点考察基础概念理解,如'1'的ASCII值为49、异或交换原理、补码计算、substr参数含义、sizeof与strlen区别、枚举法适用性等。第4题因副作用未定义行为选A,第9题错误选项为B(~0=-1非0)。整体强调对语言细节和算法逻辑的精准掌握。
2026-11-14 16:42:31
105
原创 2026年09月 GESP C++四级 选择+判断题全解析
2026年GESP C++四级选择题解析涵盖指针、引用、数组、排序等核心知识点。重点考察指针解引用与值修改(第1题)、指向常量的指针特性(第2题)、二维数组指针运算(第3题)、函数参数传递规则(第4题)、作用域与引用传参(第5题)、结构体传参方式(第6题)、结构体数组与指针操作(第7题)、排序算法性质(第8题)、递推实现跳台阶问题(第9题)及排序稳定性判断(第10题)。第11题考查插入排序的比较条件,正确答案为 a[j] > key。整体题目设计注重基础概念理解与实际应用能力。
2026-11-14 15:10:53
156
原创 B4359 [GESP202506 三级] 分糖果 详细解题报告
本题要求在满足每人至少分得 $a_i$ 颗糖果且严格多于前一位的条件下,求最小总糖果数。采用贪心策略:第 $i$ 人分得 $\max(a_i, s_{i-1}+1)$ 颗,确保局部最优。通过一次线性扫描,维护前一人糖果数,时间复杂度 $O(n)$,空间 $O(1)$。需使用 long long 防止溢出。核心考点为贪心思想、正确性理解与数据类型选择。
2026-11-13 08:05:34
359
原创 2026年06月 GESP C++三级 选择+判断题全解析
2026年6月GESP C++三级选择题解析显示,题目聚焦计算机底层基础概念。第1题考查数据编码的多义性,正确答案为A;第2题考察存储单位换算,厂商用十进制(1TB=10⁴字节),系统识别约931GB,选B;第3题涉及高低位压缩,0x1、0x2、0x3、0x4合并为12H、34H,答案C;第4题辨析补码表示范围,选项B错误,因负数最小值计算有误;第5题通过字符与密钥运算得最终结果为GCSR,选A;第6题指出左移等价于乘2的说法在溢出时不成立,故C错误;第7题强调字符串操作安全,如越界复制会导致内存错误,选C
2026-11-13 08:05:06
394
原创 P13015 [GESP202506 六级] 学习小组 详细解题报告
本题要求将 $n$ 名同学划分为若干小组,使各小组积极度之和最大。通过分析发现,该问题等价于完全背包:每种人数的小组可无限次使用,价值为对应积极度 $a_k$,容量为总人数 $n$。采用动态规划,设 $dp[i]$ 为 $i$ 人时的最大积极度,状态转移方程为 $dp[i] = \max(dp[i], dp[i-j] + a[j])$,外层枚举小组人数 $j$,内层正序遍历容量 $i$,确保完全背包特性。时间复杂度 $O(n^2)$,空间 $O(n)$,可高效求解 $n \leq 1000$ 的数据。
2026-11-12 15:50:31
241
原创 P17012 [GESP202606 六级] 条形蛋糕 详细解题报告
本题为经典动态规划问题——条形蛋糕切割,目标是最大化整数长度蛋糕段的总售价。通过分析最优子结构,定义 $dp[i]$ 为长度为 $i$ 蛋糕的最大收益,状态转移方程为 $dp[i] = \max_{1 \le j \le i} (dp[i-j] + p_j)$。时间复杂度 $O(n^2)$,空间复杂度 $O(n)$,适用于 $n \le 10^3$。样例中 $n=8$,最优解为切为 2+6,总价 22。特殊情况下(如价格单调)可直接求解,但一般情况需用 DP 求解。
2026-11-12 15:36:14
346
原创 P15801 [GESP202603 六级] 完全二叉树 详细解题报告
对每个结点uuuh[u]:以uuu为根的子树高度(空结点为 0,叶子为 1)。full[u]:以uuu为根的子树是否为满二叉树。comp[u]:以uuu为根的子树是否为完全二叉树。读入树的结构,空结点用 0 表示。初始化h[0] = 0。从根结点 1 开始 DFS:递归处理左右子树。h=1full=truecomp=true,答案 +1。非叶子结点:计算。根据左右子树高度关系及fullcomp标记,判定当前结点的full和comp。
2026-11-11 19:08:05
420
原创 P17013 [GESP202606 六级] 满二叉树 详细解题报告
dep[u]:以uuu为根的子树的高度(空结点高度为 0)。is_full[u]:以uuu为根的子树是否是满二叉树。读入nnn和每个结点的左右儿子。从根结点 1 开始 DFS,递归处理左右子树。回溯时:计算。若左右子树高度相等且均为满二叉树,则,答案 +1。否则。输出答案。
2026-11-11 16:47:48
241
原创 P10721 [GESP202406 六级] 计算得分 详细解题报告
读入nnn、计分序列AAAmmm、字符串sss。预处理dp[k]:长度为kkk的连续"abc"块的最大得分(完全背包)。扫描字符串,提取每个连续"abc"块的长度ccc。将dpcdp[c]dpc累加到总答案。输出答案。
2026-11-10 20:44:58
420
原创 P14075 [GESP202509 六级] 划分字符串 详细解题报告
设dpidp[i]dpi表示将前缀s0i−1s0i−1(前iii个字符)划分为若干合法子串时,能获得的最大总价值。答案即为dpndp[n]dpn。读入nnn、字符串sss、价值数组aaa。初始化dp00dp[0] = 0dp00。对于i1ni1n清空used数组。从ji−1j = i-1ji−1向左枚举,若sjs[j]sj已出现则break,否则标记并更新dpimaxdpid。
2026-11-10 13:59:41
365
原创 P1025 [NOIP2001 提高组] 数的划分 详细解题报告
设dp[i][j]表示将整数iii分成jjj份(每份至少为 1,不考虑顺序)的方案数。读入nkn, knk。初始化。对于i1ni1n,对于j1kj1k若iji < jij,跳过。。输出dp[n][k]。
2026-11-09 15:41:14
245
原创 P17457 [GESP202609 六级] 数组划分 详细解题报告
设dp[i]表示将前缀A1iA1i划分为若干非空连续子段时,能获得的最小总偏差值。读入数组,计算前缀和prefix。初始化dp[0] = 0,其余为INF。对于i1ni1n枚举最后一段的起点j0i−1j0i−1。。。输出dp[n]。
2026-11-09 14:15:56
248
原创 P14361 [CSP-S 2025] 社团招新 解题报告
本题的核心是带限制的贪心。先忽略限制得到理想最优解,再利用反悔机制修正超员部门:将超员部门中“转出损失最小”的成员改派到其他部门。由于总人数为nnn最多只有一个部门会超员,因此只需对该部门进行修正。使用优先队列可以高效地选出损失最小的成员,总复杂度OnlognOnlogn。
2026-11-08 23:19:03
414
原创 P17458 [GESP202609 六级] 分树规划 详细解题报告
读入nnn和n−1n - 1n−1条边,用邻接表建树。从根结点 1 开始 DFS,传入父结点fa避免走回头路。初始化szu1szu1。对每个孩子vvv:递归dfs(v, u),然后szu←szuszvszu←szuszv,并计算∣szv−n−szv∣∣szv−n−szv])∣更新答案。输出最小差值。
2026-11-08 23:13:41
457
原创 P14362 [CSP-S 2025] 道路修复 详细解题报告
读入原图边,跑 Kruskal,保留n−1n - 1n−1条 MST 边。将 MST 边与所有k×nk \times nk×n条乡镇边合并,一次性按边权排序,乡镇边标记来源。枚举2k2^k2k种乡镇改造状态,初始费用为选中乡镇改造费之和。线性扫描有序边数组,跳过未选中乡镇的边,跑 Kruskal。若城市1∼n1 \sim n1∼n全部连通,更新答案。输出最小费用。
2026-11-07 22:00:17
609
原创 B4006 [GESP202406 四级] 宝箱 详细解题报告
读入nkn, knk和数组aaa。将aaa升序排序。初始化l = 1sum = 0ans = 0。枚举右端点r1nr1n。当时,l++。。输出ans。
2026-11-07 21:17:11
308
原创 P17456 [GESP202609 五级] 饮品调制 详细解题报告
读入数据,计算每种原料的差值disi−tdisi−t。将di0d_i = 0di0的原料体积直接计入答案。分别累计正偏差总量PPP和负偏差总量NNN。若P0P = 0P0或N0N = 0N0,直接输出答案。若PNP = NPN,所有原料全部加入,输出总体积。若PNP < NPN:正偏差原料全用,负偏差原料按∣di∣|d_i|∣di∣从小到大排序,依次选取直到凑够偏差PPP。若PN。
2026-11-06 20:48:02
295
原创 P17455 [GESP202609 五级] 哥德巴赫猜想 详细解题报告
读入nnn。用埃氏筛(或欧拉筛)预处理1∼n1 \sim n1∼n的质数表is_prime。枚举ppp从222到n2n/2n/2。若,答案加一。输出答案。
2026-11-06 13:28:14
330
原创 B4039 [GESP202409 三级] 回文拼接 详细解题报告
读入字符串。检查长度,如果长度4< 44(因为2242+2=4224),直接输出No。否则,从下标 2 开始枚举切分点(保证左串长度≥2\ge 2≥2),且切分点≤len−2≤len−2(保证右串长度≥2\ge 2≥2提取左右子串,分别判断是否回文。若同时满足,输出Yes,否则输出No。
2026-11-05 13:59:09
288
原创 P17830 [CSP-J 2026] 纸牌游戏 / card 详细解题报告
状态 0:空状态 1:只有1[1]状态 2:只有2[2]状态 3:1在左,2在右[1, 2]状态 4:2在左,1在右[2, 1]从后往前递推,假设后缀状态为s,加入新牌a[i]如果加入的是1如果s == 0(空)-> 放入1 ->状态 1如果s == 1(有1)-> 收走1放入1 ->状态 1如果s == 2(有2)-> 直接放右侧 ->状态 4[2, 1]如果s == 3[1, 2])-> 收走1和2,放入1 ->状态 1如果s == 4[2, 1])-> 收走右侧的1,放入1 ->状态 4。
2026-11-05 11:42:35
554
原创 P17829 [CSP-J 2026] 按位与 / and —— 详细解题报告
解法流程按位与的高位权重严格大于所有低位之和,因此从高位到低位贪心;维护候选答案ans,尝试将第iii位置 1,得到;统计有多少个数在cand的所有 1 位上也为 1(即若个数≥m\ge m≥m,说明第iii位可以为 1,更新ans = cand;否则该位不能为 1;遍历完所有位后,ans即为最大按位与值。时间复杂度O30nO(30n)O30n。
2026-11-04 14:21:39
427
原创 P17828 [CSP-J 2026] 回文串 / string 详细解题报告
思路总结回文串的每一对对称位置独立判定:相同则 0 次修改,不同则 1 次修改。在游程编码下,不需要展开字符串,而是用双指针维护左右两侧当前段的剩余长度。每次取两侧剩余长度的较小值kkk,一次性配对kkk对字符,根据字符是否相同累加答案kkk或 0。某一侧耗尽时,指针向内移动一段。当左右指针相遇时停止。时间复杂度OnO(n)On,答案使用long long防止溢出。
2026-11-04 07:50:29
483
原创 P17827 [CSP-J 2026] 旅游 / travel 详细解题报告
思路流程解析输入:两张车票各由车厢号与座位号(排号 + 字母)组成。第 1 问:比较车厢号字符串是否相等。第 2 问:在第 1 问为真的基础上,比较座位号的前两位(排号)。第 3 问:在第 2 问为真的基础上,将字母映射为数值(A=0, B=1, C=2, D=3, F=4),判断是否同属012\{0,1,2\}012或同属34\{3,4\}34。第 4 问:在第 3 问为真的基础上,判断两个字母的数值差的绝对值是否为 1。输出:四个布尔值直接拼接为 01 字符串。
2026-11-03 17:56:02
328
原创 P17832 [CSP-S 2026] 地铁 / subway 详细解题报告
摘要(148字): 本题通过构建“站厅-站台”双层图模型,将换乘与步行时间建模为边权。利用Dijkstra求解单源最短路,每次查询独立跑一次。关键优化在于将线路数小(≤500)、站点换乘度低(≤20)的特性转化为可接受的复杂度。尽管总点数达5×10⁵,但因线路数量有限,暴力建图+查询跑最短路可在小数据上获得部分分数,为后续优化提供基础。
2026-11-03 16:58:26
514
原创 P17831 [CSP-S 2026] 能量水晶 / crystal 详细解题报告
给定 $n$ 颗能量水晶,每次操作可将某颗水晶能量值 $+1$,最多进行 $m$ 次。目标是使尽可能多的水晶拥有相同能量值。由于只能增加能量,最优目标值必为原序列中某 $a_i$。通过排序后枚举目标值 $a_R$,用双指针或二分计算以 $a_R$ 为目标的最多可合并水晶数。对特殊性质 A($a_i=i$)和 B(等差数列)可分别用公式 $O(\log n)$ 或 $O(n)$ 求解;普通情况用 $O(n^2)$ 暴力,结合剪枝可获 75 分。
2026-11-02 16:44:01
659
原创 P8817 [CSP-S 2022] 假期计划 解题报告
维度暴力 DFS正解:BFS + 候选集剪枝时间复杂度能否通过 100%否((n=2500) 必超时)是核心思想枚举所有四元组,逐一检查预处理全源最短路,只保留前 3 优候选代码量短中等。
2026-10-30 15:57:36
68
原创 P7909 [CSP-J 2021] 分糖果 解题报告
问题转化:将分糖果问题抽象为在区间 ([L, R]) 中寻找 (k) 使 (k \bmod n) 最大。分类讨论:根据 (L) 和 (R) 是否跨过模 (n) 的块边界,分为两种情况。跨块情况:若 (\lfloor L/n \rfloor < \lfloor R/n \rfloor),区间内必然存在 (k \bmod n = n-1),直接输出 (n-1)。同块情况。
2026-10-08 13:30:03
257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅