- 题解
高 2029 届信息学竞赛选拔考试参考答案
- @ 2026-9-4 20:29:51
T1
1、
$ f(4) = \text{popcount}(3) + \text{popcount}(1) = 3$
2、 解法一:
$$f(x) = \begin{cases} f(\frac {x -1}{2}) +1, &\text{当 $x$ 为奇数}\\ f(\frac x 2 -1) +2, &\text{当 $x$ 为奇数} \end{cases} $$ 解法二:
令 为最大的 使得 ,则 .
3、
T2
1、 写出一种拆分并画出图,例:

2、 可重拆分: 种,不可重拆分: 种.
3、 对于 的一种不可重拆分,把元素从小到大排序后既满足:
删去楼梯部分后,满足:
$$a_1 -1\leq a_2 - 2 \leq a_3 -3 \leq \cdots \leq a_{k-1} -(k-1) \leq a_k - k $$ 因为条件从小于变为了小于等于,所以得到的即为可重拆分.
4、 把得到的 Ferrers 图旋转 90° 重新排序,得到的依然是一个可重拆分的 Ferrers 图,且原先对列数的限制变成了对最高列高度的限制,易得旋转先后 Ferrers 图对应的可重拆分是双射的,所以整数 可重拆分成最多不超过 个数的和的方案数等于 可重拆分成最大不超过 的方案数.
T3
1、 奇数先手必胜偶数先手必败.
2、 存在,先手拿 颗,对方至少拿 颗,则先手者胜利.
3、 石子数是 的倍数时必败,否则先手必胜。
理由:设 是石子数为 时先手必胜或者必败,其中 为必胜, 为必败
这个式子的意义是:如果他能转移到的所有状态中对方都是必胜的,那他必败,否则他转移到对方必败的状态即必胜.
中只有 是先手必败的,因为 都能拿到剩 个的状态,则他们拿到剩 个即必胜,而 只能拿到剩下 的情况,这些情况对方都是必胜的,所以他是必败的,后面部分同理。
策略:每次拿走 个石子即可,易证不会超过 个.
4、 易得:设一个状态 每堆石子的 运算和为 ,则有:
-
-
若 ,选出最大的那一堆 ,由 得,.
又因为 ,所有 ,,则
所以把 这堆拿到 ,则
-
若 ,假设从 堆拿了 个,易得:,
易得 ,则 .
则当 ,转移到的状态一定存在 的,当 ,所有转移到的节点 .
那么假如先手拿到的 ,我们走到任意一个 的状态,那对方必然会走回到 的状态,易知有限步内必走到 的情况,此时 ,一定是该后手操作,则后手必败,先手必胜。
反之也成立.
T4
1、
2、
3、
4、 不会,给定 ,设 没有计重,有:
通过第一种方案,我们从 的方案转移而来,所以原排列不会计重,而相同排列不同交换位置会导致 的位置不同,不会计重,所以第一种方案里没有计重;
第二种方法,从 的方案转移而来,同理;
而第一种方案不会存在第二种方案 的情况,所以两种方案之间不会计重.
则归纳得 没有计重.
5、
6、 一个 trivial 的结论,每个联通块其实就是错排的一个置换环。
设所有长为 错排的置换环个数和为 ,所有长为 错排个数为 .
考虑错排计数的递推的组合意义,当前 个 交换结束,与 交互的是 ,当且仅当此时 才会产生新的置换环,那么本质上由 造成的置换环的增量为 ,剩下的直接乘上系数继承即可.
则有:
那么答案即为 。
7、 枚举置换环大小,得到式子:
其中 是长度为 的错排的个数,可以做到 递推,那么每次暴力计算这个式子复杂度
考虑化式子。
$$\begin{aligned} f(n)&=\sum_{k=2}^n k^2 \binom n k (k-1)! g(n-k)\\&=\sum_{k=2}^n k^2 \frac {n!}{(n-k)!k!} (k-1)! g(n-k)\\ &=n!\sum_{k=2}^n k \frac {g(n-k)}{(n-k)!} \end{aligned} $$考虑生成函数:
$$A(x)=\sum_{k=2}^\infty kx^k =\frac {x}{(1-x)^2}-x\\ G(x)=e^{\ln \frac 1 {1-x}-x}=\frac {e^{-x}}{1-x} $$那么 .
尝试化简:
$$A(x)G(x) = \frac {xe^{-x}}{(1-x)^3} - \frac {e^{-x}}{1-x}+e^{-x} $$考虑前面单独计算,设 ,则有:
$$\begin{aligned} B'(x)&=\frac {3e^{-x}}{(1-x)^4} - \frac {e^{-x}}{(1-x)^3}\\ &= 3\frac {B(x)}{1-x} - B(x) \\ (1-x)(B'(x)+ B(x))&= 3B(x) \end{aligned} $$取 次项系数可得到:
化简可得
那么可得:
则:
1 comments
-
Myobot @ 2026-9-4 20:30:03
好的,这道题你整理得很详细,看得出你已经把主要思路都理清了,而且解法也写得比较完整。作为教练,我先指出几个值得注意的地方,再提一些深挖的点,供你继续思考。
关于 T1:
- 你的递推式和解法二是等价的,但请注意解法二中的 要取“最大的 使得 ”,这里实际上是在找 的二进制最高位。题目要求的是 吗?还是说你的 定义和原题略有出入?建议你回头确认一下原题中 的定义,因为这里的递推式和解法二是否完全一致,取决于你的 是在算哪两个数的 popcount。
- 第 3 问答案 ,如果这是你手算或程序验证的结果,最好在题解里附上简短计算过程,方便读者复核。
关于 T2:
- 第 3 问的“楼梯部分”解释挺清楚,但要注意你写的是 还是 ?我注意到你中间写的是 ,但最后一行变成 ,这里可能有个笔误或下标偏移,建议统一。
- 第 4 问的 Ferrers 图旋转证明思路是对的,但“列数限制变成最大列高度限制”这句话可以再严谨一点,最好明确写出双射的构造方式(比如:旋转后每一行对应原来每一列)。
关于 T3:
- 第 3 问的博弈结论很标准,你的递推式和策略都正确。注意你写的 这个式子有点奇怪,因为 是 0/1,求和不可能等于 ,建议改成 或者直接写“存在一个 使得 ”。
- 第 4 问的 Nim 变种(按位或)分析很到位。你提到 ,这个性质是核心,但要注意这里不是普通 Nim 的异或,而是按位或,所以“必胜态”的判定和策略都不同,你给出的构造(把最大堆拿到 )是对的,但建议明确说明为什么一定能拿到这个数(即 的证明)。
关于 T4:
- 第 1、2 问答案都是 ,这说明你理解的是“圆排列”或“固定一个位置的排列”,但第 3 问答案是 ,这里我猜测是 时的错排数?建议把 的值写清楚,不然读者会困惑。
- 第 4 问的递推证明思路不错,但“第一种方案不会存在第二种方案 的情况”这句话需要再推敲——因为错排的定义就是 ,所以 且 是可能的(比如 时 ),关键在于两种方案构造的排列是否可能重合,建议用更清晰的分类讨论。
- 第 6 问的置换环期望推导很漂亮,你用的组合意义(新增置换环来自 的情况)是正确的,递推式也对。不过要注意 是错排数,,这些边界条件要写清楚。
- 第 7 问的生成函数推导很精彩,你最后得到 ,这个化简很优雅,但建议补充说明 的初值(比如 ?)以及递推式 的推导过程,方便读者跟上。
整体建议:
- 这篇题解覆盖面很广,但有些地方的符号和下标需要统一(比如 T2 的 下标、T3 的求和式子)。
- 对于“不会”的题目(比如 T4 第 4 问),你写“不会”但后面又给了证明,建议改成“暂时没想到简洁证明”或者直接给出你现在的证明,这样更完整。
- 如果这是选拔考试的参考答案,建议每题标注分值或难度,方便学生评估。
想问你几个问题:
- T1 的 定义到底是什么?是 吗?还是另有定义?
- T4 第 3 问的 是在什么条件下得到的? 吗?
- 你希望我针对哪一题再深入讨论?比如 T4 的生成函数部分,或者 T3 的博弈证明?
期待你的回复,我们可以继续细化。
- 1