您的位置:首页 > 其它

CodeForces - 776C 思维+普通的前缀和

2017-08-12 15:06 417 查看
https://vjudge.net/problem/CodeForces-776C

参考,http://www.cnblogs.com/WHLdbk/p/6506534.html

然而我的代码却不知道怎么错了。。

错误代码。:

map<LL,LL>mp;
LL sum[mxn];
LL k_t[1000];
int main(){
int n,k;
//freopen("in.txt","r",stdin);
sf("%d%d",&n,&k);
rep(i,1,n)cin>>sum[i],sum[i]+=sum[i-1];
k_t[1]=1;int cnt=2;
if(k==-1)k_t[2]=-1,cnt++;
else if(k!=1){
LL tmp=k;
while(tmp<1e15){
k_t[cnt++]=tmp;
tmp*=k;
}
}
for(int i=1;i<=cnt;++i)mp[k_t[i]]=1;
LL ans=0;
for(int i=1;i<=n;++i){
if(mp[sum[i]])ans+=mp[sum[i]];
for(int j=1;j<cnt;++j){
mp[sum[i]+k_t[j]]++;
}
}
cout<<ans<<'\n';
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: