GESP七级C++最新10次真题分析:图论正式接管考试
- 2026-11-14 03:30:48
2024年3月 ~ 2026年9月,最新10套七级C++真题。编程题10套里8套和图有关:连通、染色、物流网络、必经点……六级还是"树上散步",七级直接进入"图上作战"。哈夫曼和栈这两个老朋友也还在。
获取 最新10次gesp7解析.pdf
请关注状元编程公众号,回复 20261113gesp7
大家好,一~六级真题分析已写完(公众号主页可回看),今天讲七级。
七级的画风用一句话概括:图论接管了一切。客观题考图的遍历、连通、度数、哈希表;编程题几乎全在图上——找连通块、染色、最短路、必经点。同时,哈夫曼编码从六级"平移"过来继续考,栈也以新形态回归。
我把最近10套真题(2024.03 ~ 2026.09,共250道客观题+20道编程题)逐题过了一遍,下面是完整分析。
01 卷面结构:依然15+10+2
| 合计 | 27题 | 100分 |
七级客观题的显著特点:同一批考点换着角度反复出。哈夫曼WPL计算10套考了9次,图的DFS/BFS遍历序列判断10套考了10次,哈希表冲突处理近三套卷每套2~3道。
02 编程题全清单:图题的天下
四个结论:
结论一:图论编程题占了一半以上。 交流问题(连通关系)、图上移动、连通图、金币收集、城市规划、物流网络、染色、必经之路——10套里8套有图题。考察层次也在爬坡:2024年考"找连通块"(BFS/DFS基础),2026年考"必经点判定"(删点+遍历验证)。
结论二:最短路开始出"变体"。 2026年3月"物流网络"是标准Dijkstra的改造版:路径上可以免除景观评分最高的一条边的费用。这题考的不是背模板,而是"分层图/枚举免单边"的转化能力——七级开始,裸模板题基本绝迹。
结论三:栈和区间DP以新面貌回归。 2026年9月"括号序列"是栈的经典应用;2026年6月"消消乐"(删除元素得分=左右相邻元素之和,求最大总分)是区间DP;2026年3月"拆分"(整数拆分最大化乘积)考数学+贪心(拆成尽量多的3)。
结论四:网格泛洪题仍在。 燃烧、俄罗斯方块这类网格题本质还是 Flood Fill,但七级要求处理更大的地图——递归DFS会栈溢出,必须会显式队列/栈的非递归写法。
03 七级五大考点模块
① 图论(绝对核心)
度数与边数:握手定理——所有顶点度数之和=边数的2倍;"36条边、每个顶点度数为4,求顶点数"(答案18)这类题反复出;有向图入度之和=出度之和 DFS/BFS遍历:给图判断"哪个可能是DFS序列"(每套必考);BFS用队列、DFS用栈或递归;无权图BFS第一次到达的层数=最少边数 连通性与生成树:n个顶点的连通无向图生成树恰好n-1条边;DFS生成树包含所有顶点(连通图) 强连通分量:给有向图数SCC个数(2025.12、2026.03连考)
② 哈夫曼编码(六级平移,继续每年必考)
WPL计算:给频率求最小带权路径长度 新增判断陷阱:"频率更高的叶子深度一定更小"是错的(深度更小没问题,但"总是"不成立,等频时可以互换) 哈夫曼树不存在度为1的结点(2026年6月考) 哈夫曼树/编码不唯一:六级考过,七级继续考
③ 哈希表(七级新增重点)
冲突处理两派:链地址法(同槽位全冲突时最坏O(n))vs 开放定址法(线性探测) 经典计算题:长度11的哈希表、h(x)=x%11、线性探测插入序列——问某元素存在哪个位置 关键陷阱:开放定址法删除元素不能直接置空,否则截断探测链,必须做标记删除(2026年9月判断题) 开放定址法即使哈希函数合理也可能冲突(废话但常考)
④ 动态规划进阶
最长公共子序列LCS:二维dp,滚动数组把空间从O(n×m)优化到O(n)(2025.12、2026.09连考) 区间DP:石子合并(每次合并相邻两堆,代价=两堆之和)、消消乐 网格DP:带障碍物路径计数(#不能走) 0/1背包一维逆序继续考(从六级平移,2026年9月直接给代码算dp[8]的值)
⑤ 泛洪 Flood Fill 与 math 库
Flood Fill 用 BFS 或 DFS 都能实现;大地图递归DFS会栈溢出,非递归实现首选显式队列/栈(2026年6月、9月连考) cmath 库陷阱是七级新宠: sin(90)的参数是弧度不是角度(所以结果不是1);pow(2,10)返回 double;exp(0)=1.0是 double——三套2026年卷每套1~2道math库题
04 2026年的三个新信号
信号一:图论编程题开始考"判定"而不只是"遍历"。 "必经之路"要求判定所有合法起点→终点路径的公共必经点,官方解法是逐个删点+拓扑排序验证。从"能遍历"到"能验证性质",思维要求上了一档。
信号二:最短路出现"条件变体"。 物流网络的"免单一票"设定,要求孩子在Dijkstra外层多想一层:要么建分层图(免单状态另开一层),要么枚举免单的边。模板之外的一步转化,成了七级编程题的区分点。
信号三:math 库进入常规考点。 以前 cmath 只在计算几何里捎带考,2026年三套卷每套都有专门的 math 库题(sin 弧度制、pow 返回类型、exp 值)。这是考纲里明确的新增小模块,别忽略。
05 命题规律:七级的"必考三件套"
图的DFS/BFS序列判断:10套全考,形式固定——给一张图,问"哪个可能是从某点出发的DFS序列",坑都在"邻接点枚举顺序影响结果" 哈夫曼WPL/编码:10套考9次,连题目都高度雷同(给5~6个频率算WPL) 度数与边数互算:握手定理的正用反用,10套考7次
判断题题眼:
"无向连通图删除一条边一定变非连通"——错!删除的是非桥边时仍连通(2026.03) "贪心和DP可以互相替代"——错!"DP能解的最值问题一定存在贪心策略"是错的(2026.03) "开放定址法删除元素直接置空"——错!要标记删除(2026.09) "哈夫曼树频率高的叶子深度总更小"——错!"总是"太绝对(2026.09) "邻接表遍历某顶点所有邻边与顶点数成正比"——错!是与该顶点的度数成正比(2026.09)
06 陷阱 TOP 6(全部出自真题)
① sin(90) 不等于 1
cmath 的三角函数参数是弧度。sin(90)≈0.894(90弧度),sin(π/2) 才是1。"角度制默认"是2026年6月的判断题原坑。
② 开放定址法删除元素直接置空
会截断后续的探测链,导致"明明存在却查不到"。正确做法是打删除标记。
③ 哈夫曼树"频率高⇒深度小"的绝对化表述
单看两个叶子可以比较,但"总是更小"的表述不成立——频率相同的叶子深度可以不同层,构造顺序会导致编码互换。
④ "36条边、度数全为4"算顶点数时忘了除2
握手定理:4n = 2×36,n = 18。直除忘了乘2是最常见失误。
⑤ LCS滚动数组方向写反
滚动数组只保留两行时,更新 dp[j] 依赖的"上一行 dp[j-1]"必须还没被覆盖——内层循环方向错了,答案全错。
⑥ DFS序列的"唯一性"陷阱
同一个图、同一个起点,邻接点枚举顺序不同,DFS序列就不同——所以"DFS序列一定唯一"是错,"与枚举顺序无关"也是错。
07 给备考七级的同学三条建议
第一,把图的邻接表+BFS/DFS写成模板肌肉。 七级图题的代码骨架就一个:vector<int> g[N] 建图 + visited[] 标记 + 队列/递归遍历。连通块计数、染色、必经点判定全是它的变体。模板要能5分钟内默写。
第二,哈夫曼和哈希表"刷题不如算题"。 这两块考的全是手算:给频率画哈夫曼树算WPL、给哈希函数模拟线性探测。找10道真题手算一遍,比看十遍概念都管用。
第三,最短路学"Dijkstra+一层变体"。 优先队列版Dijkstra必须会写;然后专门练"物流网络"这种变体——枚举免单边或分层图。七级考试不考裸Dijkstra,考的就是那一层转化。
七级拿证意味着孩子已经具备 CSP-J 提高组方向的图论基础,也是通往八级(综合算法)的最后一站。
(真题与解析资料已整理在公众号后台,需要的话回复"七级真题"获取。)
上一篇:[GESP六级真题分析:题型彻底变了] | 系列文章:一级~六级均可在公众号主页查看