Fibonacci Sum HDU - 6755【2020 Multi-University Training Contest 1】斐波那契数列变形+二项式定理
【杭电多校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
官方题解:
分析:![](/assets/blank.gif)
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】斐波那契数列变形+二项式定理相关推荐
- HDU1568 Fibonacci【斐波拉契数列】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...
- fibonacci数列前20项_面试题精选:神奇的斐波那契数列
斐波那契数列,其最开始的几项是0.1.1.2.3.5.8.13.21.34-- ,后面的每一项是前两项之和,事实上,斐波那契在数学上有自己的严格递归定义. f0 = 0 f1 = 1 f(n) = f ...
- 斐波那契数列(Fibonacci Sequence)
基本概念 斐波那契数列(Fibonacci Sequence):斐波那契数列(Fibonacci Sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonac ...
- 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了
斐波那契数列(Fibonacci) 今天开始做牛客的剑指Offie,一看到斐波那契我就想到递归,是它是它就是它,然后我就满怀期待地写下了下面地代码.ok,没问题,一次性过.然而,我滴老天鹅,才击败30 ...
- 一文解决斐波那契数列求前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) ...
- 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;//数列需要 ...
- matlab求斐波那契数列第n项的值,求fibonacci数列第n项的值. 1 1 2 3 5 8....n ?
[C语言]用递归算法编写一个程序求Fibonacci数列的第n项值 #includeunsignedintFibonacci(intn);intmain(void){inti;for(i=1;i vb ...
- 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). ...
最新文章
- php mssql生僻字,php生僻字的處理,插入數據庫被截斷,空白,亂碼解決辦法,php冷僻字處理...
- 支付系统设计:对账处理(二)
- 微型计算机断电后信息将会丢失,计算机基础知识试题及答案a2
- VB编PiView4注册机
- 关于DIPS的MVC 4.0项目发布与在IIS 7.0上的部署的方法
- usb无线网卡linux驱动,Linux系统下安装USB无线网卡驱动方法
- aliez歌词_核爆神曲《aLIEz》中文歌词完整版(QQ音乐翻译版)
- Java 实现打印文件详解(附demo)
- 数据库基础知识(思维导图)
- 关于Chrome浏览器书签被更改的分析
- HotFix方案原理
- Excel 中 YEAR 函数公式语法和用法示例介绍
- PVE下的黑群晖的其他后续设置
- 人间炼狱,人性在哪儿---------------- 二十年穿铁衣取胆,母熊含泪杀子并自杀
- 淘宝达人接任务不推广怎么办?
- Java学习软件安装详解
- Apple MacPad Pro会是什么样?
- android studio抛出,Android Studio升级到3.0,抛出Aapt2Exception异常
- iOS 获取手机步数
- php实现猫眼电影院选座思路,高仿猫眼电影选座(选票)模块
热门文章
- C++之inline函数使用总结
- linux之ls只显示文件或者文件夹
- Android之如何实现通讯录的搜索并且让匹配到的数据变颜色
- java requestbody map_@RequestBody 的正确使用办法
- 数据结构关键路径_数据结构与算法之关键路径_一点课堂(多岸学院)
- 面试可以,但别打扰我睡觉! | 今日最佳
- 今日最佳:你爸爸给你取名的时候。。。
- 快速入门深度学习,其实并不难!
- 技术人必备的碎片化时间学习工具
- mybatis-plus 会自动增加 order by_python自动撸支付宝基金答题红包