AT4816 [ABC159D] Banned K

AT4816 [ABC159D] Banned K

题目大意:

给一个长度为 nn 的序列,问每次删去 a[i]a[i] 后,有多少对两两相等的数。

思路:

用一个 sumsum 表示一共有几对相同的数字,即先用一个桶保存每一个数的出现次数,然后用全排列公式算出总地情况即可。最后在减一下就可以了。

所以该部分的代码为:

for(int i=0;i<=n;i++)
	{
		if(t[i]>0)
		{
			sum+=(t[i]-1)*t[i]/2;
			b[i]=t[i]-1;
		}
	}

值得注意,ii 应该 00 开始,为什么自己想一想。

这就是代码主体部分啦,剩下的请自行补齐。(就输入输出的部分....)。

posted @ 2022-04-30 15:21  June_Failure  阅读(7)  评论(0)    收藏  举报  来源