【讲解】CSP-S2026 第一轮初赛

我发现我的实力还是不太够,然后做题不够细心。

接下来必须更加努力了。

题目来源:CSP-J/S 2026 初赛集中讨论帖【更新 S 组题面+答案】 - 洛谷 (luogu.com.cn)


第一题

实际求的是 2026 转换为二进制后 1 的个数。

cpp 复制代码
2047 - 2026 = 11

1024 512 256 128 64 32 16 8 4 2 1
   1   1   1   1  1  1  1 0 1 0 0

有 8 个 1,选 D。


第二题

哈夫曼树又叫最优二叉树。

给定一组权值作为叶子结点,构造一棵二叉树,使得所有叶子结点的带权路径长度 WPL 最小。

  • 路径长度:从根到该结点的边数。

  • 带权路径长度:每个叶子结点的权值 × 它的路径长度,再求和。

  • 构造方法:每次从当前集合中选两个权值最小的结点合并,新结点权值为两者之和,重复直到只剩一个根结点。

  • WPL 也就等于所有合并产生的新结点权值之和。


第三题

cpp 复制代码
1-9: 1

10-99: 1 * 9 + 10 = 19

100-999: 20 * 9 + 100 = 280

1000: 1

1 + 19 + 280 + 1 = 301

选 C。


第四题

5 选 2 为 10,剩下的 3 个数错排是 2,2 * 10 = 20。

选 D。


第五题

欧拉定理:

答案变为 ,选 A。


第六题

选 C。


第七题

cpp 复制代码
11 = 1011  
1: 1011
2: 1100
3: 10000


3 = 11
1: 11
2: 100
3: 1000
4: 10000

选 A。


第八题

发现 123 或者 132,而 4 可以随意插进去,2 * 4 = 8。

选 B。


第九题

选 A。


第十题

直径:树中最长的路径。

重心:删除重心后,剩下的各个连通分量的大小都不超过整棵树节点数的一半。

画图即可,选 D。


第十一题

有向强连通图:图中任意两个顶点都可以互相到达。

让每个点入度出度相等即可,形成环。

选 C。


第十二题


第十三题

ab 和 abab,选 B。


第十四题

模拟即可,选 C。


第十五题

欧拉定理:

将 1000 分解为 8 和 125。

k 只会小于 8,试得 k = 3。

答案为 B。


第十六题

将二进制位的限制缩小到 4~8,易得本题就是 mod gen 得到的余数,而 gen0 是最大位。

选 AABCBC。

只讲 17 题,发现每次循环都是从 到最后位。

所以第 位在第一次枚举到 时就确定了,而 。

易得 17 题正确。


第十七题

AABBBD,不讲,很版的 st 表。


第十八题

ABBACC。

只讲最后一题。


第十九题

CDBAC。

注意到本题的队列 tt 指向是结尾的下一个地址,所以第二题选 D。


第二十题

全场最恶心题目来临。

第一小题


续

  • C = sum_i s_i * c_i

  • q[j] = sum_i s_i * a[i][j]

  • S = sum_j abs(q[j])

初始时程序令所有 s[i] = -1,所以:

  • C -= c[i],得到 C = -sum c[i]

  • 对 A 答案,s=-1 贡献 -1,所以 q[j]--

  • 对 B 答案,s=-1 贡献 +1,所以 q[j]++

这就是程序初始化。


第二、三小题

第四小题

第五小题

最后一题如果不理解的话,可以思考一下 n 为奇数的情况。

相关推荐
lpfasd1237 小时前
推荐算法进化史
算法·机器学习·推荐算法
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(上):初始化和全量响应
开发语言·网络·c++·语言模型
Pniubi8 小时前
力扣543二叉树的直径(深度优先搜索法(递归))
算法·leetcode·职场和发展
fpcc8 小时前
跟我学c++中级篇—streambuf在glog中的应用分析
开发语言·c++
码匠许师傅8 小时前
【C++三方组件】OpenCV:计算机视觉的事实标准
c++
C^h17 小时前
c++ string
开发语言·c++
raindayinrain17 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的17 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao17 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
小徐不徐说19 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计