【杭电多校2020】Distinct Sub-palindromes
分析:

题目:

The Fibonacci numbers are defined as below:

Given three integers N, C and K, calculate the following summation:

Since the answer can be huge, output it modulo 1000000009 (10910^9109+9).

Input

The first line contains an integer T (1≤T≤200), denoting the number of test cases. Each test case contains three space separated integers in the order: N, C, K (1≤N,C≤101810^{18}1018,1≤K≤10510^5105).

Output

For each test case, output a single line containing the answer.

Sample Input

2
5 1 1
2 1 2

Sample Output

12
2
官方题解:

分析:

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+9;
const int M=1e5;
int pow_mod(int x,int i)
{int y=1;while(i){if(i&1)y=(ll)y*x%mod;x=(ll)x*x%mod;i>>=1;}return y;
}
ll N,C;
int K,a[M+5],b[M+5];
int comb(int n,int k)
{if(n<k)return 0;return (ll)a[n]*b[k]%mod*b[n-k]%mod;
}
int main()
{ios::sync_with_stdio(0);a[0]=1;for(int i=1; i<=M; ++i)a[i]=(ll)a[i-1]*i%mod;b[M]=pow_mod(a[M],mod-2);for(int i=M-1; i>=0; --i)b[i]=(ll)(i+1)*b[i+1]%mod;int T;cin>>T;while(T--){cin>>N>>C>>K;int A=691504013,B=308495997;A=pow_mod(A,C%(mod-1));B=pow_mod(B,C%(mod-1));int a=1,b=pow_mod(B,K);int ib=pow_mod(B,mod-2);int ans=0;for(int j=0; j<=K; ++j){int x=(ll)a*b%mod;if(x==1)x=(N+1)%mod;elsex=(ll)(pow_mod(x,(N+1)%(mod-1))-1+mod)%mod * pow_mod((x-1+mod)%mod,mod-2) % mod;if((K-j)&1)x=(x==0?x:mod-x);ans=((ll)ans+(ll)comb(K,j)*x)%mod;a=(ll)a*A%mod;b=(ll)b*ib%mod;}int mul=276601605;mul=pow_mod(mul,K);ans=(ll)ans*mul%mod;cout<<ans<<endl;}return 0;
}

Fibonacci Sum HDU - 6755【2020 Multi-University Training Contest 1】斐波那契数列变形+二项式定理相关推荐

  1. HDU1568 Fibonacci【斐波拉契数列】

    Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)

    分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...

  3. fibonacci数列前20项_面试题精选:神奇的斐波那契数列

    斐波那契数列,其最开始的几项是0.1.1.2.3.5.8.13.21.34-- ,后面的每一项是前两项之和,事实上,斐波那契在数学上有自己的严格递归定义. f0 = 0 f1 = 1 f(n) = f ...

  4. 斐波那契数列(Fibonacci Sequence)

    基本概念 斐波那契数列(Fibonacci Sequence):斐波那契数列(Fibonacci Sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonac ...

  5. 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了

    斐波那契数列(Fibonacci) 今天开始做牛客的剑指Offie,一看到斐波那契我就想到递归,是它是它就是它,然后我就满怀期待地写下了下面地代码.ok,没问题,一次性过.然而,我滴老天鹅,才击败30 ...

  6. 一文解决斐波那契数列求前n项和;和求第n个数是多少的问题;斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……

    题目:斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)= 0,F(1) ...

  7. C语言编程求fibonacci前20项,c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和知道...

    C语言源程序如下: #include int main() { int array[100]={1,1};//斐波那契数列前两个元素均为0 int i=0;//循环变量 int n=20;//数列需要 ...

  8. matlab求斐波那契数列第n项的值,求fibonacci数列第n项的值. 1 1 2 3 5 8....n ?

    [C语言]用递归算法编写一个程序求Fibonacci数列的第n项值 #includeunsignedintFibonacci(intn);intmain(void){inti;for(i=1;i vb ...

  9. fibonacci斐波那契数列详解 递归求Fn非递归求Fn求n最近的斐波那契数

    斐波那契fibonacci 斐波那契额数列即前两项F(0)和F(1)都是1,之后的每一项都是前两项相加和即F(3)=2,F(4)=3,F(5)=5; 通项公式:F(n+2)=F(n+1)+F(n). ...

最新文章

  1. php mssql生僻字,php生僻字的處理,插入數據庫被截斷,空白,亂碼解決辦法,php冷僻字處理...
  2. 支付系统设计:对账处理(二)
  3. 微型计算机断电后信息将会丢失,计算机基础知识试题及答案a2
  4. VB编PiView4注册机
  5. 关于DIPS的MVC 4.0项目发布与在IIS 7.0上的部署的方法
  6. usb无线网卡linux驱动,Linux系统下安装USB无线网卡驱动方法
  7. aliez歌词_核爆神曲《aLIEz》中文歌词完整版(QQ音乐翻译版)
  8. Java 实现打印文件详解(附demo)
  9. 数据库基础知识(思维导图)
  10. 关于Chrome浏览器书签被更改的分析
  11. HotFix方案原理
  12. Excel 中 YEAR 函数公式语法和用法示例介绍
  13. PVE下的黑群晖的其他后续设置
  14. 人间炼狱,人性在哪儿---------------- 二十年穿铁衣取胆,母熊含泪杀子并自杀
  15. 淘宝达人接任务不推广怎么办?
  16. Java学习软件安装详解
  17. Apple MacPad Pro会是什么样?
  18. android studio抛出,Android Studio升级到3.0,抛出Aapt2Exception异常
  19. iOS 获取手机步数
  20. php实现猫眼电影院选座思路,高仿猫眼电影选座(选票)模块

热门文章

  1. C++之inline函数使用总结
  2. linux之ls只显示文件或者文件夹
  3. Android之如何实现通讯录的搜索并且让匹配到的数据变颜色
  4. java requestbody map_@RequestBody 的正确使用办法
  5. 数据结构关键路径_数据结构与算法之关键路径_一点课堂(多岸学院)
  6. 面试可以,但别打扰我睡觉! | 今日最佳
  7. 今日最佳:你爸爸给你取名的时候。。。
  8. 快速入门深度学习,其实并不难!
  9. 技术人必备的碎片化时间学习工具
  10. mybatis-plus 会自动增加 order by_python自动撸支付宝基金答题红包