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} \]

posted @ 2022-06-19 20:20  Authentic_k  阅读(31)  评论(0编辑  收藏  举报