题目大意

给定l,r,kl,r,k,求出:

∑i=lr(fi+2k)

\sum_{i=l}^r \binom{f_{i+2}}{k}
f(n)=n,n≤1f(n) = n,n \leq 1
f(n)=f(n−1)+f(n−2),n>1f(n)=f(n-1)+f(n-2),n>1

数据范围

k≤500k \leq 500,0≤l≤r≤10180 \leq l \leq r \leq 10^{18}

题解

因为(xk)=x!k!(x−k)!\binom{x}{k} = \frac{x!}{k!(x-k)!},因此(xk)\binom{x}{k}可以写成一个kk次的多项式,再前缀和减一下,问题变成要求:

∑i=0rfki

\sum_{i=0}^r f_i^k
令a=1+5√2,b=1−5√2a=\frac{1+\sqrt{5}}{2},b=\frac{1-\sqrt{5}}{2},我们知道:
fn=5√5(an−bn)f_n = \frac{\sqrt{5}}{5}\left(a^n-b^n\right),因此有:

===∑i=0rfki∑i=0r(5√5(ai−bi))k(5√5)k∑i=0r∑j=0k(kj)aij(−b)i(k−j)(5√5)k∑j=0k(−1)k−j(kj)∑i=0n(ajbk−j)i

\begin{aligned} &\sum_{i=0}^r f_i^k \\ =&\sum_{i=0}^r \left(\frac{\sqrt{5}}{5}\left(a^i-b^i\right)\right)^k \\ =&\left(\frac{\sqrt{5}}{5}\right)^k \sum_{i=0}^r \sum_{j=0}^k \binom{k}{j}a^{ij}(-b)^{i(k-j)}\\ =&\left(\frac{\sqrt{5}}{5}\right)^k \sum_{j=0}^k (-1)^{k-j}\binom{k}{j}\sum_{i=0}^n \left(a^jb^{k-j}\right)^i\\ \end{aligned}
我们现在将每个数表示成 x=a+b5√x=a+b\sqrt{5}的形式,我们可以很轻松的定义这些数的加减乘运算,那么最后我们相当于枚举 jj,求出x=ajbk−jx=a^jb^{k-j},然后倍增地求出 ∑ni=0xi\sum_{i=0}^n x^i,最后乘上 (5√5)k\left(\frac{\sqrt{5}}{5}\right)^k即可。
因为每个 fif_i都是整数,因此最终求出来的数 xx的bb必然为0,直接返回实数部分就好了。
时间复杂度:
O(k2logr)O(k^2\log r)

codeforces 717A相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  3. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  4. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  5. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  6. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  7. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

最新文章

  1. 十种方法保持云中数据安全
  2. [机器学习]回归--Decision Tree Regression
  3. 3997: [TJOI2015]组合数学
  4. Asterisk PBX 快速安装向导
  5. 讲讲 MySQL 中的 WAL 策略和 CheckPoint 技术
  6. iPhone 的续航有望加长!749 元的“磁吸充电宝”你会买吗?
  7. 【转】探讨android更新UI的几种方法----不错
  8. 用java来实现FIFO先进先出的队列
  9. Kafka日志刷新策略
  10. Spring Cloud 关于 hystrix 的异常 fallback method wasn't found
  11. paip.输入法编程---输入法ATIaN历史记录 c823
  12. TSC条码打印机常见故障及解决方法
  13. 编程之美1.7 光影切割问题
  14. 廖雪峰Git教程:远程仓库
  15. orcad元件封装制作
  16. 线性定常系统的离散化
  17. android开发环境搭建——android studio
  18. java获取中文首字母
  19. 英语单词辨析(同类单词)
  20. 历年计算机基础试题和答案,自学考试00018计算机应用基础历年试题与答案

热门文章

  1. mathcad 15.0安装教程
  2. 西安交警如何借力智能化科技手段开展城市交通“智”理?
  3. vue vue-seamless-scroll 无缝滚动依赖
  4. 软件开发中UI设计需要注意什么?
  5. tc275的flexcan的接收与发送
  6. 赫拉(hera)分布式任务调度系统之项目启动(二)
  7. 计算机基础_程序是怎样跑起来的_04_有棱有角的内存
  8. linux下write()和read()函数详解
  9. OpenGL,glut,glew,glfw,mesa等
  10. 友盟对android的应用,Android 集成友盟统计