做题记录 25.5.31

\(\textcolor{purple}\odot\) CF1808E3 Minibuses on Venus (hard version)

令总和为 \(s\),则合法当且仅当存在 \(x\mid 2x\equiv s\pmod k\)

先考虑 \(2\nmid k\) 的情况,此时 \(x\)\(s\) 一一对应,枚举 \(x\),令 \(f_i\) 表示含有至少 \(i\)\(x\) 的数量,\(g_i\) 表示含有恰好 \(i\)\(x\) 的数量,则

\[f_i=\binom ni k^{n-i-1}\;(1\le i<n)\\ f_n=[xn\equiv s\pmod k] \]

\[f_i=\sum_{j=i}^n \binom jig_j \]

因此

\[g_i=\sum_{j=i}^n (-1)^{i-j} \binom ji f_j \]

答案为

\[\begin{aligned} \sum_{i=1}^n g_i=&\sum_{i=1}^n \sum_{j=i}^n (-1)^{i-j} \binom ji f_j\\ =&\sum_{i=1}^{n-1} \sum_{j=i}^{n-1} (-1)^{i-j} \binom ji f_j+\sum_{i=1}^n(-1)^{i-n} \binom ni f_n\\ =&\sum_{i=1}^{n-1} \sum_{j=i}^{n-1} (-1)^{i-j} \binom ji \binom nj k^{n-j-1} +\sum_{i=1}^n(-1)^{i-n} \binom ni [xn\equiv s\pmod k]\\ \end{aligned} \]

前面部分

\[\begin{aligned} &\sum_{i=1}^{n-1} \sum_{j=i}^{n-1} (-1)^{i-j} \binom ji \binom nj k^{n-j-1}\\ =&\sum_{j=1}^{n-1}\binom njk^{n-j-1} \sum_{i=1}^j (-1)^{i-j} \binom ji\\ =&\sum_{j=1}^{n-1}\binom njk^{n-j-1} \left( \sum_{i=0}^j (-1)^{i-j} \binom ji-(-1)^{-j}\binom j0\right)\\ =&\sum_{j=1}^{n-1}\binom njk^{n-j-1} \left( (1-1)^j+(-1)^{j+1}\right)\\ =&\sum_{j=1}^{n-1}\binom njk^{n-j-1}(-1)^{j+1}\\ =&-\frac1k\sum_{j=1}^{n-1}\binom njk^{n-j}(-1)^j\\ =&-\frac1k\left(\sum_{j=0}^{n}\binom njk^{n-j}(-1)^j-\binom n0k^{n-0}(-1)^0-\binom nnk^{n-n}(-1)^n\right)\\ =&-\frac1k((k-1)^{n}-k^{n}-(-1)^n)\\ =&\frac1k(k^n-(-1)^n-(k-1)^n)\\ \end{aligned} \]

\(k\)\(x\) 的总贡献为 \(k\cdot \frac1k(k^n-(-1)^n-(k-1)^n)=k^n-(-1)^n-(k-1)^n\)

后面部分

\[\begin{aligned} &\sum_{i=1}^n(-1)^{i-n} \binom ni [xn\equiv s\pmod k]\\ =&[xn\equiv s\pmod k]\left(\sum_{i=0}^n(-1)^{i-n} \binom ni -(-1)^{-n}\right)\\ =&[xn\equiv s\pmod k](-1)^{n+1}\\ \end{aligned} \]

\(k\)\(x\) 的总贡献为

\[\begin{aligned} &\sum_{x=0}^{k-1}[xn\equiv 2x\pmod k](-1)^{n+1}\\ =&(-1)^{n+1}\sum_{x=0}^{k-1}[(n-2)x\equiv 0\pmod k]\\ =&(-1)^{n+1}\gcd(n-2,k)\\ \end{aligned} \]

综上,\(2\nmid k\) 时答案为 \(k^n-(-1)^n-(k-1)^n+(-1)^{n+1}\gcd(n-2,k)\),时间复杂度 \(O(\log n)\)

然后考虑 \(2\mid k\) 的情况,此时每个偶数 \(s\) 对应两个 \(x\),奇数 \(s\) 无解,因此 \(f_i=\binom ni k^{n-i-1}2^i\;(1\le i<n,2\mid s)\)

类似 \(2\nmid k\) 的情况,可得 \(2\mid s\) 时总贡献为 \(\frac1k(k^n-(-2)^n-(k-2)^n)\),共 \(\frac k2\)\(s\) 产生贡献,因此这部分总贡献为 \(\frac12(k^n-(-2)^n-(k-2)^n)\)

然后考虑 \(f_n\) 的贡献,显然等于 \((-1)^{n+1}f_n\),因此考虑如何计算 \(f_n\)

显然

\[\begin{aligned} f_n=&\sum_{i=0}^n \left[i\cdot \frac s2+(n-i)\cdot \frac{s+k}2\equiv s\pmod k\right]\binom ni\\ =&\sum_{i=0}^n \left[i\cdot \frac k2\equiv s-n\cdot \frac{s+k}2\pmod k\right]\binom ni\\ =&\left[s-n\cdot \frac{s+k}2\equiv 0\pmod k\right]\sum_{0\le i\le n, 2\mid i} \binom ni+\left[s-n\cdot \frac{s+k}2\equiv \frac k2\pmod k\right]\sum_{0\le i\le n, 2\nmid i} \binom ni\\ \end{aligned} \]

\(s-n\cdot \frac{s+k}2\equiv 0\pmod k\) 时值为 \(\sum_{0\le i\le n, 2\mid i} \binom ni\)\(s-n\cdot \frac{s+k}2\equiv \frac k2\pmod k\) 时值为 \(\sum_{0\le i\le n, 2\nmid i} \binom ni\)

\(\sum_{0\le i\le n, 2\mid i} \binom ni=\sum_{0\le i\le n, 2\nmid i} \binom ni=2^{n-1}\),因此 \(f_n=[s-n\cdot \frac{s+k}2\equiv 0\pmod{\frac k2}]2^{n-1}\),所有 \(f_n\) 的总贡献为

\[\sum_{s=0}^{k-1}(-1)^{n+1}\left[s-n\cdot \frac{s+k}2\equiv 0\pmod{\frac k2}\right]2^{n-1}=(-2)^{n-1}\sum_{s=0}^{k-1}\left[s-n\cdot \frac{s+k}2\equiv 0\pmod{\frac k2}\right] \]

考虑如何计算 \(\sum_{s=0}^{k-1}\left[s-n\cdot \frac{s+k}2\equiv 0\pmod{\frac k2}\right]\)

由于 \(\left[s-n\cdot \frac{s+k}2\equiv 0\pmod{\frac k2}\right]=\left[s-n\cdot \frac{s}2\equiv 0\pmod{\frac k2}\right]=\left[s\left(\frac n2-1\right)\equiv 0\pmod{\frac k2}\right]\),因此合法的 \(s\) 的数量为 \(\gcd(\frac n2-1,\frac k2)\)

综上,\(2\mid k\) 时答案为 \(\frac12(k^n-(-2)^n-(k-2)^n)+(-2)^{n-1}\gcd(\frac n2-1,\frac k2)\)

总时间复杂度 \(O(\log n)\)

代码

参考

\(\textcolor{purple}\odot\) CF1810F M-tree

答案为 \(\lceil\log_m \sum_{i=1}^n m^{a_i}\rceil\)\(\text{ODT}\) 维护即可,时间复杂度 \(O(q\log n)\)

代码

参考

posted @ 2025-06-01 07:59  Hstry  阅读(3)  评论(0)    收藏  举报