社区讨论
AT D
学术版参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lta4xxsx
- 此快照首次捕获于
- 2024/03/02 21:44 2 年前
- 此快照最后确认于
- 2024/03/03 09:05 2 年前
用哈希解决,思路简单,但WA了,跪求大佬求调
CPP#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int N=2e5+5,MAX=1e6,moda=81919,modb=70311,modc=80391,modd=98765;
int sum[N],ta[MAX],tb[MAX],tc[MAX],td[MAX];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m,ans=1;
cin>>n>>m;
ta[0]=n;
tb[0]=n;
tc[0]=n;
td[0]=n;
for(int i=1;i<=m;i++){
int a,b;
cin>>a>>b;
ta[sum[a]%moda]--;
tb[sum[a]%modb]--;
tc[sum[a]%modc]--;
td[sum[a]%modd]--;
if(ta[sum[a]%moda]==0||tb[sum[a]%modb]==0||tc[sum[a]%modc]==0||td[sum[a]%modd]==0){
ans--;
}
sum[a]+=b;
ta[sum[a]%moda]++;
tb[sum[a]%modb]++;
tc[sum[a]%modc]++;
td[sum[a]%modd]++;
if(ta[sum[a]%moda]==1||tb[sum[a]%modb]==1||tc[sum[a]%modc]==1||td[sum[a]%modd]==1){
ans++;
}
cout<<ans<<"\n";
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...