【线段树+FIB】codeforces 446c DZY Loves Fibonacci Numbers

通道:http://codeforces.com/contest/446/problem/C

题意:区间修改和区间查询,他的区间修改不是个定值,而是从L 到 R 分别加 F1、F2、。。。Fr-l+1 (F为斐波那契数列)

思路:

根据斐波那契数列的两个定义(任意区间适应,a为该区间的第一项,b为该区间的第二项):

(1)F(n)=b*fib[n-1]+a*fib[n-2] ;

(2)F[1]+F[2]+...+F[n]=F[n+2]-b;

(3)a,b具有累加性。

代码:https://github.com/Mithril0rd/Rojo/blob/master/cf446.cpp

posted @ 2015-02-10 14:54  mithrilhan  阅读(464)  评论(0编辑  收藏  举报