logo AlgoBeat OnlineJudge
登录 注册

Official Answers & Unofficial Editorial (Powered by AI)

作者: 035966_L3  ·  发布于 2026-06-19 14:20:15  ·  最后修改于 2026-06-19 17:19:02
已通过
审核员:AlgoBeat 官方账号 · 2026-06-19 17:19:02

https://scg3.piaoztsdy.cn/p/182

参考答案:

CAB CCA DDA BBC BAD  
TFF DCD FTT AAD TTT BBC  
BDDAC CDBAB

原题没有解析,以下解析由 DeepSeek V4 Pro 基于参考答案生成。


一、基础知识

1. C

  • LAN(局域网)、MAN(城域网)、WAN(广域网)均为常见网络分类。
  • NAN 不属于此标准分类,故选 C。

2. A

  • C++ 源代码常见后缀:.cpp.cc.cxx.c++ 等。
  • .c 通常为 C 语言源文件后缀(虽大多数编译器兼容,但规范上不属于 C++ 专属后缀)。

3. B

  • 信息学竞赛(CCF 系列)自 2021 年起指定使用 C++14 标准,2022 年延续此版本。

4. C

表达式:15 & 26 + ~8 << 2(无符号 8 位运算)

  • 运算符优先级:~ > + > << > &
  • ~8 按位取反(在 8 位下为 11110111₂ = 247
  • 26 + 247 = 273,8 位截断为 273 % 256 = 17
  • 17 << 2 = 680b01000100
  • 15 & 68 = 0b00001111 & 0b01000100 = 0b00000100 = 4

选 C。

5. C

已知:

枚举所有 8 种真值组合,满足两式的为 ,其中 true 的个数均为 2。

6. A

  • 边权和 = ,总度数为
  • 要边权和最小,应让最小点权 尽可能承担更多度数,其余 个点作为叶子。
  • 的度数为 ,其余点度数为 ,总和为

7. D

  • 个结点的有向图,无重边无自环,允许两结点间有双向边。
  • 共有 条可能的有向边,均可存在。选 D。

8. D

  • 个结点的无标号二叉树形态数即 卡特兰数

9. A

  • 根为 ,其左子树:(左 ,右 );右子树:(左 ,右 )。
  • 中序遍历:左 → 根 → 右 →

10-12. 块状链表操作复杂度

  • 10. B:查询需先通过顺序表定位到组(可 ),再在组内链表遍历,组长约 ,故约访问 个元素。
  • 11. B:插入定位同查询,需要访问约 个元素找到位置,插入本身为
  • 12. C:每组冒泡排序共 ;选择排序需要 次选择,每次从 个串首比较,也是 ,总复杂度

13. B

  • memset 定义在头文件 <cstring>(或 C 风格 <string.h>)中。

14. A

f(25) = 25 * f(12)
f(12) = 12 * f(6)
f(6)  = 6 * f(3)
f(3)  = 3 * f(1) = 3

回溯:

15. D

  • 二分写法有误:当 lr 相邻时 m = (l+r)>>1 恒等于 l,若 x > ml = m 死循环。
  • x=7 时会死循环导致超时;x=1,3,5 均可正常退出。

二、阅读程序

(六)蜘蛛算经

程序将输入的数字串按“乘 加下一位”处理,相当于将输入视为八进制数(但数字可以是 ),转为十进制输出。

  • 16. Tx <<= 3 等价于 x *= 8(正数且不溢出时)。
  • 17. F:输入 "01""1" 输出相同,并非一定不同。
  • 18. F:输入最多 个数字,最大值为 的结果 ,未超出 int 范围(约 )。
  • 19. D
    A. "000" ,输出 0
    B. "778"
    C. "123"
    D. "111" ,正确。
  • 20. C"777"
  • 21. D 的结果为 亿,最接近 亿。

(七)左手螺旋

模拟在 01 矩阵中按“左手扶墙”规则行走,超过 步未停则输出 -1

  • 22. F:循环条件为 ans <= 10*n*m,跳出时 ans = 10*n*m + 1
  • 23. T:将条件改为 ==0 后可走,在边界外可能持续走出数组导致越界。
  • 24. T:矩阵全 时,起点一定为 ,直接 report(0)
  • 25. A:手推几步会发现路径进入死循环,最终超过步数上限输出 -1
  • 26. A:全 矩阵中,起点 。若方向为 U,前方和左方均为界外(),第一步即停下输出 1;其他方向均可前进。
  • 27. D:循环最多执行至 ans = 10nm+1 最大 ,故约 次。

(八)幸福之约

用 DFS 枚举连续质数的幂次,求不超过 range 且约数个数最大的数。

  • 28. T:删去第 行后 prime(1) 返回 true,但 set_pr 开始循环,不影响质数表。
  • 29. Trange=1,DFS 无法乘任何质数,最大约数个数 mv 保持为 1
  • 30. T:改用 int 可能导致 cur 溢出变为负数,递归无法按预期终止,造成超时等。
  • 31. B:DFS 从 cur=1 开始,且必须从小到大连续取质数、每个至少取一次,故在 间可能值为 (共 个)。 不含因子 或因缺少中间质数而无法产生。
  • 32. B:取指数均为 的路径 ,进入 dep=10 时乘 溢出返回,故 dep 最大值为
  • 33. C:输入 时经典最大约数个数为 (对应 ),程序能正确求出。

三、补全程序

(九)方格计数

高精度乘法 ,采用压位存储(每位存 进制)。

  • 34. B:数字最大长度 ,故数组大小需 1<<10 足够且优化空间。a,b 长度 1<<10
  • 35. Dc 数组存乘积结果,长度为两数长度之和,1<<11 足够容纳约 位。
  • 36. D:压位进制 可简化 += c[i]/Z%=Z 的进位处理,且 c[i] 单个数字最大 ,无溢出风险。
  • 37. A:竖式乘法中,a[i] * b[j] 累加至 c[i+j]
  • 38. C:进位处理时,c[i]/Z 进位到下一位 c[i+1]

(十)晚餐时间

只猪在数轴上按规则移动,每步同时朝猪少的一侧移动,两端猪跳下。程序利用间距 dis 优化模拟。

  • 39. Cdis[i] 为第 只与第 只的距离,即 a[i+1] - a[i]
  • 40. D:当前仍在桥上的猪的数量 cnt = r - l + 1
  • 41. B:若 cnt <= 1,只剩一只猪无法下桥,移动停止。
  • 42. A:中间猪的索引 mid = (l + r) >> 1(向下取整)。
  • 43. B:当桥上有偶数只猪时,中间两只同时向中间移动会消耗两倍距离,move 需翻倍,即 dis[mid] += move << 1

暂无评论

登录 后即可评论。