Fantasy of a Summation LightOJ - 1213 (快速幂)
Posted wtsruvf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fantasy of a Summation LightOJ - 1213 (快速幂)相关的知识,希望对你有一定的参考价值。
题意:
首先 只看第一层循环的A[0],是不是用了nk-1次 A[1]也是用了nk-1次······ 所以 第一层的sum(A[i]的和) 一共用了nk-1 所以第一层为sum * nk-1
因为又k层循环 所以全部为sum * nk-1 * k
最后不要忘了 % MOD
代码如下:
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; const int maxn = 10010, INF = 0x7fffffff; typedef long long LL; LL MOD, n, k; LL init(LL a, LL b) { LL res = 1; while(b) { if(b & 1 ) res = res * a % MOD; a = a * a % MOD; b >>= 1; } return res; } int main() { int T; cin>> T; int kase = 0; while(T--) { cin>> n >> k >> MOD; LL sum = 0; for(int i=0; i<n; i++){ LL temp; cin>> temp; sum = (sum + temp) % MOD; } printf("Case %d: %lld ",++kase,sum*init(n,k-1) * k%MOD); } return 0; }
以上是关于Fantasy of a Summation LightOJ - 1213 (快速幂)的主要内容,如果未能解决你的问题,请参考以下文章
快速幂——L - Fantasy of a Summation LightOJ - 1213
ZOJ007 Numerical Summation of a Series(纯数学)
projecteuler---->problem=10----Summation of primes