hdu 4602 Partition (递推+二分快速幂)
来源:互联网 发布:哈尔滨数据开放平台 编辑:程序博客网 时间:2024/05/01 11:43
找规律,可得到
n 1 2 3 4 5 .......
k =1 1 2 5 12 28 .......
=2 0 1 2 5 12 .......
=3 0 0 1 2 5 .......
=4 0 0 0 1 2 .......
=5 0 0 0 0 1 .......
推得:f[n]=f[n-1]*2+2^(n-3) ------> f[n]=(n-2)*2^(n-3)+2^(n-1)
#include<iostream>#include<cstring>#include<string>#include<cstdio>using namespace std;const long long modd=1000000007;long long T,n,k,ans;long long power(long long x,long long y){ long long ans=1,k=x; while(y>0) { if(y & 1) ans=(ans*k)% modd; y>>=1; k=(k*k)% modd; } return ans;}int main(){ scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); n=n-(k-1); if(n<=0) cout<<0<<endl; else if(n==1) cout<<1<<endl; else if(n==2) cout<<2<<endl; else { k=power(2,n-3) % modd; ans=((n-2)*k+k*4) % modd; cout<<ans<<endl; } } return 0;}
- hdu 4602 Partition (递推+二分快速幂)
- hdu 4602 Partition 快速幂,构造递推关系 (13多校#1,1003)
- hdu 4549(矩阵优化递推,数论,二分快速幂)
- hdu - 4602 - Partition(快速幂)
- HDU 4602 Partition(快速幂)
- HDU 4602 Partition (快速幂+思维)
- HDU 4602 Partition 数论 AND 快速幂
- hdu-4602-Partition(矩阵快速幂)
- HDU 6030 Happy Necklace (递推+矩阵快速幂)
- HDU 5015 233Matrix(矩阵快速幂+递推)
- HDU-2604(递推+矩阵快速幂)
- HDU-2842(递推+矩阵快速幂)
- hdu 6030 Happy Necklace (递推,矩阵快速幂)
- 【递推&矩阵快速幂】hdu 2604
- hdu 2842(矩阵快速幂+递推)
- hdu 3519 递推+矩阵快速幂
- HDU 2604 递推 + 矩阵快速幂
- HDU 4602 Partition (矩阵快速幂或求通项)
- 软件专业毕业生之一个月攻略
- 写过的代码---------------------个人记录
- 108 - Maximum Sum
- [Math] 排列组合 笔记 [大三四八九月实习]
- [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
- hdu 4602 Partition (递推+二分快速幂)
- iOS: NSDictionary的方法initWithContentsOfFile:
- HDOJ 1198 Farm Irrigation 并查集
- Gohead学习笔记
- hdu 4362(dp求非连续回文串的个数)
- iOS: NSDictionary的方法initWithDictionary:
- 8月1日
- 绘制线程 PaintThread
- 七种排序算法总结(冒泡、插入、选择、希尔、归并、堆、快速)