PTZ2021wd5c Multiple?
zz 讲了半个小时,没听懂,哥,真的好抽象。以下是基于 \(\texttt{2023.10.30 16:08}\) 的笨蛋的理解写出来的。和其他题解像是正常的,我看题解看了半天才看懂的。
求有多少个长度为 \(n - k\),值域为 \([1,n]\) 的序列,满足其任意一个非空子序列,和都不是 \(n\) 的倍数。
\(1\leq k \leq \dfrac{n}{4} < n < 998244353\)
感觉这道题目就是乱搞,找了依托必要条件,然后发现肯定是充分的。
首先子序列不太好搞,先整个子段的限制,找必要条件。
*(后来说是子序列和没有做法,所以只能求子段)
如果是子段就好搞很多,对整个序列做个前缀和,目前有 \(n - k + 1\) 个前缀和,可是这样好像看不出什么。把不同的数放到一个个对里,假设有 \(m\) 对,把他们排在序列上,注意到交换一个对就可以把一个前缀和换成一个不同的数,那么相当于我们有了 \(n - k + 1 + m\) 个前缀,如果在 \(\bmod\ n\) 下有相同的前缀和就寄了,所以 \(n - k + m + 1 \leq n\Longleftrightarrow m < k\)。我们继续考虑 \(m\) 大概能是多少,如果众数是 \(x\),有 \(t\) 个,想象 \(m\) 最多是多少,由于 \(x\) 是众数,所以其他数的出现次数不会超过 \(t\),容易构造出 \(m\leq\min\{n - k - t, \left\lfloor\frac{n - k}{2}\right\rfloor\}\)(自行思考易证,可以取等)。由于我们要求 \(m < k\),而 \(k\leq\frac{n}{4}\),所以 $\left\lfloor\frac{n - k}{2}\right\rfloor$ 无法限制 \(m\),只能 \(m = n - k - t \Longleftrightarrow n-k-t<k \Longrightarrow t > \frac{n}{2}\)。
现在,你觉得这题已经做不下去了,从子序列到子段和是必要的,众数个数 \(> \frac{n}{2}\),还 tm 是必要的,什么玩意。
再仔细想想,如果 \(\gcd(n, x) \neq 1\) 那么我直接找到 \(\frac{n}{\gcd(n, x)}\) 个 \(x\) 肯定就寄了,所以 \(\gcd(n, x) = 1\)。
以下这步我自己想绝对想不到,由于互质,\(x\) 在模 \(n\) 意义下有逆元, 直接让所有数乘上 \(x^{-1}\),那么现在有 \(t\) 个 \(1\),由于 \(t > \frac{n}{2}\),所以如果所有数的和 \(\geq n\),那肯定能得到 \(n\) 的倍数。
所以我们现在的限制就是:
- 众数个数超过 \(\frac{n}{2}\);
- 众数和 \(n\) 互质;
- 乘逆元后全部数的和 \(< n\)。
等一等,仔细想一下,逆元肯定在模意义下不是 \(0\),那我在乘完逆元之后的序列中肯定凑不出 \(n\) 的倍数(和小于 \(n\)) 原序列也凑不出来,所以不在乎第一个必要的转化……奇怪,那第一个限制有什么用?没有用?没有用!我序列的长度数 \(\geq \frac{3}{4}n\) 而和 \(< n\),那么给每个位置分一个 \(1\),剩下的和 \(< \frac{1}{4}n\),刚好,\(1\) 的个数一定满足限制,那也不在乎第二个必要的转化。
实际上限制条件只有:
- 众数和 \(n\) 互质;
- 乘逆元后全部数的和 \(< n\)。
插板即可。 $$ans = \binom{n - 1}{k - 1}\varphi(n)$$
总结,一头雾水。