【题解】P7342 『MdOI R4』Destiny
https://www.luogu.com.cn/problem/P7342
贡献法,从对角线出发走到 \((0,n-1)\),也就是从 \(F(x,y)=F(x,y)(\frac{1}{(1-x)(1-y)}-1)+1,F(x,y)=\frac{1-x-y+xy}{1-2(x+y-xy)}=(1-x-y+xy)\sum_{j\ge 0}2^j(x+y-xy)^j\)。
提取 \([x^iy^{n-1-i}]\),先假设 \(\sum\) 前的系数是 1,枚举 \(-xy\) 的次数则有 \(\sum_{j=0}^{\infty} 2^{n-1-j}(-1)^j\binom{n-1-j}{j}\binom{n-1-2j}{i-j}\)。
\[\begin{aligned}
&2^{n-1}\sum_{j\ge 0}\left(-\frac{1}{2} \right)^j\binom{n-1-j}{j}\sum_{i=0}^{n-1} b_{i\bmod k}\binom{n-1-2j}{i-j}\\
=&2^{n-1}\sum_{j\ge 0}\left(-\frac{1}{2} \right)^j\binom{n-1-j}{j}\sum_{i=0}^{n-1} b_{i\bmod k}[z^i]z^j(1+z)^{n-1-2j}\\
=&2^{n-1}\sum_{i=0}^{k-1} b_{i}[z^i]\sum_{j\ge 0}\left(-\frac{1}{2} \right)^j\binom{n-1-j}{j}z^j(1+z)^{n-1-2j}\pmod {z^k-1}\\
=&(2(z+1))^{n-1}\sum_{i=0}^{k-1} b_{i}[z^i]{\color{Red}\sum_{j\ge 0}\left(-\frac{z}{2(1+z)^2} \right)^j\binom{n-1-j}{j}}\pmod {z^k-1}\\
\end{aligned}
\]
考虑 \(\sum_{j\ge 0}a^j\binom{n-j}{j}\),相当于选出 \(j\) 个位置 \(1=p_0\le p_1<p_2<p_3<...<p_j< p_{j+1}=n+1\),且 \(\forall i>0,2\le p_{i+1}-p_i\)。
这对应递推式 \(f_0=1,f_{i}=f_{i-1}+af_{i-2}\),可以矩阵快速幂。
现在考虑 \((1-x-y+xy)\) 如何处理,上面的做法基本只要求 \(x^{a}y^{b}\) 中 \(a+b\) 是定值,所以可以类似做。
时间复杂度 \(O(2^3k\log k\log n)\)。
这个做法还是太慢了,应该无法通过。题解使用了特征方程,并且把 \((1-x-y+xy)\) 展开做了。
浙公网安备 33010602011771号