CF717 Festival Organization
作者:互联网
\(CF717\ Festival\ Organization\)
Description
一个合法的串定义为:长度在 \([l,r]\) 之间,且只含 \(0,1\),并且不存在连续 \(2\) 个或更多的 \(0\)。
现在要选出 \(k\) 个长度相同的合法的串,问有几种选法,答案模 \(10^9+7\)。
Solution
初始形式比较易得
\[\sum_{i=l+2}^{r+2}\binom{fib_i}{k} \]开始化式子
\[\sum_{i=l+2}^{r+2}\frac{fab_i^{\underline{k}}}{k!} \\ \frac{1}{k!}\sum_{i=l+2}^{r+2}fab_i^{\underline{k}} \\ \frac{1}{k!}\sum_{i=l+2}^{r+2}\sum_{j=0}^k {k\brack j}fab_i^j \\ \frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}fab_i^j \]这个时候其实已经可以枚举 \(j\),然后跑 \(k\) 遍矩阵快速幂了,但是应该过不了。
\[A=\frac{1+\sqrt 5}{2},B=\frac{1-\sqrt 5}{2} \\ fab_n=A^n-B^n \\ \frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}(A^i-B^i)^j \\ \frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}\sum_{z=0}^j\binom{j}{z}A^{iz}\times B^{(j-z)i} \]考虑后面的那个式子
\[\sum_{i=l+2}^{r+2}\sum_{z=0}^j\binom{j}{z}A^{iz}\times B^{(j-z)i} \\ \sum_{z=0}^j\binom{j}{z}\sum_{i=l+2}^{r+2}(A^{iz} B^{(j-z)i}) \\ \sum_{z=0}^j\binom{j}{z}\sum_{i=l+2}^{r+2}(A^{z} B^{(j-z)})^i \]这个是一个等比数列求和公式。
发现 \(5\) 在 \(\mod 1\times 10^9+7\)不存在二次剩余,好,我们扩域
感觉扩域这个手段还是比较常见的?
我们把所有的数字都用 \(a+b\times \sqrt{5}\)表示
我们就可以把所有的数字用一个类似复数的东西表示了
乘法运算类比复数
除法
\[\frac{a+b\sqrt 5}{c+d\sqrt{5}}=\frac{(a+b\sqrt5)(c-d\sqrt 5)}{(c+d\sqrt 5)(c-d\sqrt 5)}=\frac{a\times c-5\times b\times d+(b\times c-a\times d)\sqrt 5}{c^2-5\times d^2} \]标签:frac,Festival,sum,sqrt,times,fab,Organization,binom,CF717 来源: https://www.cnblogs.com/Eternal-Battle/p/16389493.html