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----&gt;problem=10----Summation of primes

Summation of primes

FANTASY:In which way do you think the world will end?

SPOJ 74. Divisor Summation 分解数字的因子