CF717A Festival Organization
Posted gzezFISHER
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF717A Festival Organization相关的知识,希望对你有一定的参考价值。
题意
一个合法的串定义为:长度在 \\([l, r]\\) 之间,且只含 \\(0,1\\),并且不存在连续 \\(2\\) 个或更多的 \\(0\\).
现在要选出 \\(k\\) 个长度相同的不同的合法的串,问有几种选法,答案模 \\(10^9+7\\).
\\(1\\le l\\le r\\le10^18, 1\\le k\\le200\\).
题解
设 \\(F_i,j\\) 表示长度为 \\(i\\), 以 \\(j\\) 结尾的合法串个数.
有 $$\\left
\\beginarraylr
F_i,0=F_i-1,1 & \\
F_i,1=F_i-1,0+F_i-1,1 &
\\endarray
\\right.$$
即 $$\\left
\\beginarraylr
F_i,0=\\textFibi & \\
Fi,1=\\textFibi+1 &
\\endarray
\\right.$$
所以答案 $$\\textAns=\\sum\\limitsl+2\\le i\\le r+2\\beginpmatrix\\textFib_i\\k\\endpmatrix$$
考虑带入斐波那契数的通项,令 \\(A=\\frac1+\\sqrt52, B=\\frac1-\\sqrt52\\)
等比数列求和快速计算式子后面部分
\\(\\Theta(k^2\\times(\\log l+\\log r))\\)
细节
本题涉及对 \\(\\sqrt5\\) 的计算,然而在模 \\(10^9+7\\) 意义下 \\(5\\) 没有二次剩余,扩域维护即可
以上是关于CF717A Festival Organization的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 717A Festival Organization(组合数学:斯特林数+Fibonacci数列+推公式)
cf1509 C. The Sports Festival(区间DP)
CODE FESTIVAL 2017 Final J - Tree MST