HDU 6027 Easy Summation【简单相加||快速幂】
2017-06-25 20:08
351 查看
Easy Summation
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 965 Accepted Submission(s): 389
Problem Description
You are encountered with a traditional problem concerning the sums of powers.
Given two integers n and k.
Let f(i)=ik,
please evaluate the sum f(1)+f(2)+...+f(n).
The problem is simple as it looks, apart from the value of n in
this question is quite large.
Can you figure the answer out? Since the answer may be too large, please output the answer modulo 109+7.
Input
The first line of the input contains an integer T(1≤T≤20),
denoting the number of test cases.
Each of the following T lines
contains two integers n(1≤n≤10000) and k(0≤k≤5).
Output
For each test case, print a single line containing an integer modulo 109+7.
Sample Input
3
2 5
4 2
4 1
Sample Output
33
30
10
Source
2017中国大学生程序设计竞赛
- 女生专场
注意:
fast_pow(ll p, ll n)中p可能爆int需写成long long
#include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<cstdlib> #include<queue> #include<map> #include<set> #include<stack> #include<bitset> #include<numeric> #include<vector> #include<string> #include<iterator> #include<cstring> #include<ctime> #include<functional> #define INF 0x3f3f3f3f #define ms(a,b) memset(a,b,sizeof(a)) #define pi 3.14159265358979 #define mod 1000000007 #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 using namespace std; typedef pair<int, int> P; typedef long long ll; typedef unsigned long long ull; const int maxn = 55; ll fast_pow(ll p, ll n) { ll ans = 1; while (n) { if (n & 1) ans = (ans*p) % mod; p = (p*p) % mod; n >>= 1; } return ans; } int main() { int t; scanf("%d", &t); while (t--) { ll n, k, as = 0; scanf("%lld%lld", &n, &k); for (int i = 1; i <= n; i++) { as = (as + fast_pow(i, k)) % mod; } printf("%lld\n", as); } }
相关文章推荐
- hdu 4523 威威猫系列故事——过生日(简单大数相加比较)
- hdu 1575 Tr A(矩阵快速幂,简单)
- Hdu 大菲波数 简单大数相加
- HDU - 6027-Easy Summation
- HDU - 5950 Recursive sequence 矩阵快速幂(由公式推矩阵快速幂简单讲解)
- hdu------(1757)A Simple Math Problem(简单矩阵快速幂)
- HDU 6027 Easy Summation
- HDU 1757 A Simple Math Problem 简单矩阵快速幂
- HDU - 6027 Easy Summation
- (HDU 6027 女生专场)Easy Summation 水题 预处理
- hdu 1757 A Simple Math Problem (矩阵快速幂,简单)
- hdu 5666 Segment(简单整点计数题+快速乘)(bestcoder#80 1001)
- HDU 6027 Easy Summation
- HDU - 6027 Easy Summation
- HDU 2157 How many ways??(简单线性DP | | 矩阵快速幂)
- HDU 6027 Easy Summation
- hdu 4523 威威猫系列故事——过生日(简单大数相加比较)
- HDU 2157 How many ways??(简单线性DP | | 矩阵快速幂)
- HDU 6027 Easy Summation (gcd)
- HDU 6027 Easy Summation