社区讨论

wa求调

P9571「NnOI R2-T3」Horizon Blue参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo1rrrk6
此快照首次捕获于
2023/10/23 01:55
2 年前
此快照最后确认于
2023/11/03 02:33
2 年前
查看原帖
CPP
#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

回复

0 条回复,欢迎继续交流。

正在加载回复...