HDU 4602 Partition
来源:互联网 发布:windows禁止icmp 编辑:程序博客网 时间:2024/06/03 18:59
Font Size: ← →
Problem Description
Define f(n) as the number of ways to perform n in format of the sum of some positive integers. For instance, when n=4, we have
4=1+1+1+1
4=1+1+2
4=1+2+1
4=2+1+1
4=1+3
4=2+2
4=3+1
4=4
totally 8 ways. Actually, we will have f(n)=2(n-1) after observations.
Given a pair of integers n and k, your task is to figure out how many times that the integer k occurs in such 2(n-1) ways. In the example above, number 1 occurs for 12 times, while number 4 only occurs once.
4=1+1+1+1
4=1+1+2
4=1+2+1
4=2+1+1
4=1+3
4=2+2
4=3+1
4=4
totally 8 ways. Actually, we will have f(n)=2(n-1) after observations.
Given a pair of integers n and k, your task is to figure out how many times that the integer k occurs in such 2(n-1) ways. In the example above, number 1 occurs for 12 times, while number 4 only occurs once.
Input
The first line contains a single integer T(1≤T≤10000), indicating the number of test cases.
Each test case contains two integers n and k(1≤n,k≤109).
Each test case contains two integers n and k(1≤n,k≤109).
Output
Output the required answer modulo 109+7 for each test case, one per line.
Sample Input
24 25 5
Sample Output
51
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<queue>#include<stack>using namespace std;const int maxn=1e9+7;long long T,n,k,ans;long long get(int x){ long long i,j,k; for (i=2,j=x,k=1;j;j>>=1) { if (j&1) (k*=i)%=maxn; (i*=i)%=maxn; } return k;}int main(){ cin>>T; while (T--) { cin>>n>>k; ans=0; if (k>=n-1) ans=max(n-k+1,ans); else { ans=n-k+3; (ans*=get(n-k-2))%=maxn; } cout<<ans<<endl; } return 0;}
0 0
- hdu - 4602 《Partition》
- HDU 4602 Partition
- HDU 4602 Partition
- hdu-4602-Partition
- hdu 4602 Partition
- HDU 4602 Partition
- hdu 4602 Partition
- hdu(4602) Partition
- hdu 4602 Partition
- HDU 4602 Partition
- hdu 4602 Partition
- HDU 4602 Partition
- HDU 4602 Partition
- hdu 4602 Partition
- HDU 4602 Partition
- HDU 4602 Partition
- HDU 4602 Partition
- hdu 4602 Partition
- sizeof
- eclipse设置自动注释的@author的值 ${user}变量
- App沙盒
- CodeForces 402B
- Linux下文件搜索命令
- HDU 4602 Partition
- Android Studio使用技巧系列教程(五)
- 15.7.18逛街购物
- swift介绍
- 获取上一个activity传给本activity的数据
- sublime使用总结
- 在QT5中设置应用程序图标
- 下载安装Xcode
- HDU 1575 Tr A