wa求调
查看原帖
wa求调
1025259
Kopicy_sama楼主2023/8/20 02:14
#include<bits/stdc++.h>
using namespace std;
#define ll int
#define ri register int
const int N=1e5+5;
ll maxn=100000;
ll n;
map<pair<ll,ll>,ll> mp;
ll c[N<<1],sum=0;
ll K[N],B[N],cn=0;
int main(){
	std::ios::sync_with_stdio(false);
	cin>>n;
	while(n--){
		ll op,k,b;
		cin>>op;
		if(op==1){
			cin>>k>>b;
			mp[{k,b}]++;
			c[k+maxn]++;sum++;
			if(mp[{k,b}]==1) K[++cn]=k,B[cn]=b;
		}
		if(op==2){
			cin>>k>>b;
			cout<<sum-c[k+maxn]<<endl;
		}
		if(op==3){
			cin>>k>>b;
			ll tmp=cn;
			cn=0;
			for(ll i=1;i<=tmp;i++){
				if(K[i]!=k){
					sum-=c[K[i]+maxn];
					sum-=mp[{K[i],B[i]}];
					mp[{K[i],B[i]}]=0;
					c[K[i]+maxn]=0;
				}
				else{
					if(B[i]==b){
						c[K[i]+maxn]-=mp[{K[i],B[i]}];
						sum-=mp[{K[i],B[i]}];
						mp[{K[i],B[i]}]=0;
					}
					else{
						K[++cn]=K[i],B[cn]=B[i]; 
					}
				}
			}
			
		}
	}
}

https://www.luogu.com.cn/record/121859665

2023/8/20 02:14
加载中...