求助 WA on #6
  • 板块CF420C Bug in Code
  • 楼主3a51_
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/5/30 15:06
  • 上次更新2023/10/28 00:17:01
查看原帖
求助 WA on #6
327444
3a51_楼主2022/5/30 15:06

code\texttt{code}(非完整版)

	int n,p,ans=0;
	cin>>n>>p;
	for(int i=1;i<=n;i++){
		cin>>x[i]>>y[i];
		t[x[i]]++,t[y[i]]++;//桶
		t2[x[i]]++,t2[y[i]]++;//备份桶
	}
	sort(t+1,t+n+1);//排序
	int now=n;
	for(int i=n-1;i>=1;i--){
		s[i]=s[i+1];//s[i]表示支持人数>=i的人的数量 
		//cout<<now<<" "<<t[now]<<endl;
		while(t[now]==i && now>=1) s[i]++,now--;
		//cout<<i<<" "<<s[i]<<endl; 
	}
	for(int i=1;i<=n;i++){
		int tot=p-t2[i];//第i个人被选中后还需要选一个多少支持量的人
		if(tot<=0){//判断特殊情况
			ans+=(n-1);
			continue;
		}
		ans+=s[tot];
		if(t2[i]>=tot){//如果在统计s时自己也满足要求,需要去掉
			ans--;
		}
		//cout<<tot<<" "<<s[tot]<<" "<<ans<<endl; 
	}
	cout<<ans/2;//因为答案会被重复计算所以要/2

求助,谢谢!

2022/5/30 15:06
加载中...