lightOJ 1213 Fantasy of a Summation
2015-05-03 09:20
627 查看
题目链接:http://lightoj.com/volume_usersubmissions.php
题意:给你一个求和的循环,让你计算最后的结果是多少?
思路:首先,我们得明确在这个循环里面,a[0]……a[n-1]出现的次数是一样多的,
它大的累加的次数为n^k次方。
看第二个样例:
它有2个数字,3层循环
1、a[0] a[0] a[0]
2、a[0] a[0] a[1]
3、a[0] a[1] a[0]
4、a[0] a[1] a[1]
5、a[1] a[0] a[0]
6、a[1] a[0] a[1]
7、a[1] a[1] a[0]
8、a[1] a[1] a[1]
在这里面它的大的累加次数为2^3=8次,因为每个数的累加次数一样多的
它每个数的累加次数为(n^k)*k/n=(n^(k-1))*k,
则和就等于(sum(a[i])*(n^(k-1))*k)%mod
#include<stdio.h>
long long pow(int a,int n,int mod){
if(n==0) return 1;
long long t=pow(a,n/2,mod);
t=t%mod;
long long ans=t*t%mod;
if(n%2==1) ans=(ans*(a%mod))%mod;
return ans;
}
int main(){
int T,kase=0;
int a[1005];
scanf("%d",&T);
while(T--){
int n,k,mod;
long long ans=0;
scanf("%d%d%d",&n,&k,&mod);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
ans=(ans+a[i]%mod)%mod;
}
long long t=pow(n,k-1,mod);
ans=((ans*(k%mod)%mod)*t)%mod;
printf("Case %d: %lld\n",++kase,ans);
}
return 0;
}
题意:给你一个求和的循环,让你计算最后的结果是多少?
思路:首先,我们得明确在这个循环里面,a[0]……a[n-1]出现的次数是一样多的,
它大的累加的次数为n^k次方。
看第二个样例:
它有2个数字,3层循环
1、a[0] a[0] a[0]
2、a[0] a[0] a[1]
3、a[0] a[1] a[0]
4、a[0] a[1] a[1]
5、a[1] a[0] a[0]
6、a[1] a[0] a[1]
7、a[1] a[1] a[0]
8、a[1] a[1] a[1]
在这里面它的大的累加次数为2^3=8次,因为每个数的累加次数一样多的
它每个数的累加次数为(n^k)*k/n=(n^(k-1))*k,
则和就等于(sum(a[i])*(n^(k-1))*k)%mod
#include<stdio.h>
long long pow(int a,int n,int mod){
if(n==0) return 1;
long long t=pow(a,n/2,mod);
t=t%mod;
long long ans=t*t%mod;
if(n%2==1) ans=(ans*(a%mod))%mod;
return ans;
}
int main(){
int T,kase=0;
int a[1005];
scanf("%d",&T);
while(T--){
int n,k,mod;
long long ans=0;
scanf("%d%d%d",&n,&k,&mod);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
ans=(ans+a[i]%mod)%mod;
}
long long t=pow(n,k-1,mod);
ans=((ans*(k%mod)%mod)*t)%mod;
printf("Case %d: %lld\n",++kase,ans);
}
return 0;
}
相关文章推荐
- 【找规律 && 快速幂 && 概率论】LightOJ - 1213 Fantasy of a Summation
- LightOJ 1213 Fantasy of a Summation(规律 + 快数幂)
- LightOJ 1213 (Fantasy of a Summation )
- lightoj1213 - Fantasy of a Summation
- A - Fantasy of a Summation(打表找规律) LightOJ - 1213
- LightOJ 1213 Fantasy of a Summation
- LightOJ 1213 Fantasy of a Summation
- LightOJ - 1213 Fantasy of a Summation 推快速幂
- LightOJ 1213 Fantasy of a Summation(快速幂)
- LightOJ 1213 - Fantasy of a Summation (排列组合+快速幂)
- LightOJ - 1213 Fantasy of a Summation (快速幂)
- lightoj 1213 - Fantasy of a Summation 【数学计数】
- LightOj 1213 - Fantasy of a Summation(推公式 快速幂)
- LightOj 1220 Fantasy of a Summation(快速幂)
- Light OJ 1213 Fantasy of a Summation (快速幂+规律)
- light oj 1213 - Fantasy of a Summation (数学计数)
- 【Light】[1213]Fantasy of a Summation
- L - Fantasy of a Summation(快速幂)
- Fantasy of a Summation
- Fantasy of a Summation n个数,k层重复遍历相加。求它的和%mod的值;推导公式+快速幂