码迷,mamicode.com
首页 > 其他好文 > 详细

TopCoder SRM 701 FibonacciStringSum

时间:2020-05-06 23:19:56      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:code   begin   srm   inline   就是   lock   ali   长度   ring   

题意

定义"Fibonacci string"为没有连续1的01串。现在,给出a,b,定义一个"Fibonacci string"的权值为\(y^bx^a\),其中\(x\)\(0\)的个数,\(y\)\(1\)的个数。
要求对所有长度为n的"Fibonacci string"的权值求和,对\(10^9+7\)取模。
\(n≤10^9, a,b≤25\)

做法

显然\(Ans=\sum_{k=0}^n {n-k+1 \choose k} k^b (n-k)^a\)
考虑矩阵快速幂,矩阵内要存\(n-1,n-2\)\(i,j(i\le b,j\le a)\),边长\(O(ab)\)的,显然过不去

\(\begin{aligned} &\sum_{k=0}^n {n-k+1 \choose k} k^b (n-k)^a \&= \sum_{j=0}^a {a \choose j} (-1)^jk^j \sum_{k=0}^n {n-k+1 \choose k}k^{b} \end{aligned}\)

这样边长就是\(O(b)\)的了

TopCoder SRM 701 FibonacciStringSum

标签:code   begin   srm   inline   就是   lock   ali   长度   ring   

原文地址:https://www.cnblogs.com/Grice/p/12839787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!