GESP2026年3月认证C++八级( 第一部分选择题(8-15))精讲 第8题 Floyd还能继续更新吗答案B1、题目已经用 Dijkstra 求出了所有点对最短路。现在又把这个 dist 数组拿去执行完整 Floyd。问执行结束以后dist 会怎样A.发生变化B.不会变化C.可能变大D.死循环2、先理解 Floyd 在干什么1Floyd 每次都会尝试i \ \ k \ \ j2看看i→k→j是不是比i→j更短。3代码就是dist[i][j]min( dist[i][j], dist[i][k]dist[k][j] );3、但是现在呢题目已经说所有最短路已经正确算出来了。说明现在dist[i][j]已经就是最优答案。再去更新min(最短路,另外一条路)永远还是最短路。4、因此不会发生任何变化。答案B5、一个生活例子假如你已经知道上海→北京最快高铁4小时。现在再去查上海→南京→北京上海→济南→北京上海→武汉→北京都不会比4小时更快。所以答案保持不变。第9题 最短路算法判断答案B1、逐个选项分析。1A选项Dijkstra能处理负边错误。例如A ----5---- B A ----2---- C C ----(-4)--- B真正最短A→C→B-2但是Dijkstra会先确定B距离5。于是出错。所有边权 ≥ 0 时Dijkstra 的贪心选择是正确的。有负权边失效原因负权边允许在“已处理”的节点之后通过一条负权边产生更短的距离使之前被选中的节点不再是全局最小而算法不会再回头更新它。所以A错。2B选项Floyd可以处理负边。不能有负环。正确。答案就是B。3C选项无向图不能做最短路当然错误。DijkstraBFSSPFABellman全部可以。4D选项Dijkstra每次选择距离最远完全相反。每次都选择最近因此错误。2、八级口诀负边 不能Dijkstra 可以Floyd 可以Bellman 可以SPFA第10题 排列组合答案C1、题目6个人排队。甲乙必须相邻。丙不能站第一。排法有几种2、第一步甲乙绑一起。变成(甲乙) 丙 丁 戊 己共5个单位。排列5!但是甲乙还能交换。甲乙 乙甲所以5!×22403、第二步减去非法丙站第一。第一固定丙剩下甲乙 丁 戊 己4个单位。4!×2484、最后240-48 192答案C5、八级技巧看到必须相邻第一反应捆绑法看到不能……第一反应总数减非法第11题 Floyd代码填空答案C1、原代码if(________) dist[i][j]...2、真正更新必须满足下列条件。第一i→k 存在第二k→j 存在否则INF5可能溢出。第三确实更短。即dist[i][k]!INF dist[k][j]!INF dist[i][k]dist[k][j] dist[i][j]答案C。3、为什么不能只比较大小例如INFINF可能超过int。甚至变负数。程序直接WA。这是很多同学第一次写Floyd最容易犯的错误。第12题 五位偶数答案B1、数字0 1 2 3 4全部使用。不能重复。组成五位偶数。2、偶数最后一位只能0 2 4分类讨论。1最后一位0前四位1 2 3 4排列4! 242最后一位2剩0 1 3 4第一位不能0。第一位3种剩3位3!所以3×6183最后一位4同理18总数241818 60答案B。3、技巧遇到首位不能0 末位有限制一般都是分类讨论。第13题 Prim填空答案A1、Prim思想不断更新每个点连接生成树的最小边。2、更新条件必须①有边graph[u][v]②没访问!inMST[v]③更小graph[u][v]minEdge[v]三个条件缺一不可。因此答案A。3、Prim口诀更新边时有边 没选 更优第14题 判断三点共线答案C1、三个点A B C如何判断2、很多人想到比较斜率。例如k1k2但是存在问题。假如x2x1斜率不存在。程序炸了。3、正确方法叉积。AB×AC如果0说明共线。4、但是浮点数不能直接0应该fabs(叉积) 1e-85、答案C。6、例如理论0计算机可能得到0.0000000003所以不能0必须fabs(...) 1e-87、八级考点以后所有几何题判断相等不要而是fabs(a-b)eps第15题 sizeof与指针答案A1、代码int a[4]; int (*p)[4]a; int *qa;第一空sizeof(a)数组4个int。4×4 16第二空sizeof(p)指针。64位。都是8第三空sizeof(p1)注意不是内容。还是指针。仍然8第四空sizeof(q1)也是指针。还是8第五空(p1)-p这里最容易错。p类型int (*)[4]每次跳过整个数组。跨度4个int但是指针相减返回的是跨过了几个数组对象。因此1不是16。第六空(q1)-q普通int指针。前进一步。也是1所以输出16 8 8 8 1 1答案A。第一部分815题总结题号知识点必须掌握8Floyd算法最短路已正确时再执行 Floyd 不会改变结果9最短路算法Dijkstra 不支持负边Floyd 可处理负边但不能有负环10排列组合相邻问题用“捆绑法”限制条件常用“总数减非法”11Floyd代码更新前必须判断两段路径都不是INF再比较是否更短12排列计数首位不能为 0、末位有限制时优先分类讨论13Prim算法更新条件有边 未加入 MST 更优14计算几何三点共线用叉积判断浮点数比较使用fabs(...) 1e-815C底层理解sizeof、数组指针int (*)[4]与普通指针int*的区别本套选择题考情分析这套八级选择题覆盖了五大高频模块组合数学第1、4、10、12题图论算法第6、7、8、9、11、13题二叉搜索树第5题计算几何基础第14题C语言底层与指针第15题

相关新闻

最新新闻

RAG系统召回率优化:从60%到89%的实战策略

RAG系统召回率优化:从60%到89%的实战策略

## 1. 问题背景与核心挑战解析最近一位朋友在字节跳动AI岗位二面时,遇到了一个关于RAG(检索增强生成)系统召回率的实战问题。当被问到"RAG召回率只有60%怎么优化"时,单纯回答"换模型"显然没有抓住问题的本质。…

2026/7/26 1:51:02
嵌入式无线通信开发:RF Core HAL与RAT机制详解与实战

嵌入式无线通信开发:RF Core HAL与RAT机制详解与实战

1. 项目概述与核心价值在嵌入式无线通信系统的开发中,最令人头疼的往往不是协议栈的复杂性,而是如何高效、稳定地驱动底层射频硬件。射频核心(RF Core)作为无线通信的物理层引擎,其寄存器配置、时序控制、中断响应都极…

2026/7/26 1:51:02
OpenClaw智能爬虫:动态规则进化与机器学习实践

OpenClaw智能爬虫:动态规则进化与机器学习实践

1. OpenClaw 为什么能越用越聪明?第一次接触OpenClaw时,我就被它的"成长性"惊艳到了。这个开源的智能抓取框架,用起来就像养宠物一样——刚开始可能笨手笨脚,但随着使用时间增加,它会逐渐适应你的操作习惯和…

2026/7/26 1:51:02
Django计算机毕设之城市公园地理信息运维管理平台设计 文旅公园点位数据可视化展示系统(完整前后端 代码+说明文档+LW,调试定制等)

Django计算机毕设之城市公园地理信息运维管理平台设计 文旅公园点位数据可视化展示系统(完整前后端 代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 1:51:02
终极性能调优:如何用FanControl打造完美的Windows散热系统

终极性能调优:如何用FanControl打造完美的Windows散热系统

终极性能调优:如何用FanControl打造完美的Windows散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…

2026/7/26 1:51:02
开源世界模型:架构解析与工程实践

开源世界模型:架构解析与工程实践

1. 开源世界模型的前沿探索当我在2019年第一次尝试将Transformer架构应用于环境建模时,服务器连续崩溃了7次。这种挫败感恰恰反映了构建世界模型的本质挑战——我们需要教会机器像人类一样理解物理世界的运作规律。开源世界模型作为当前AI领域最具潜力的方向之一&am…

2026/7/26 1:46:01

月新闻