2146A相等的出现次数



for(int i=0;i<n;i++)
		{
			for(int k=1;k<=n;k++)
			{if(a[i]==k) {b[k-1]++;lenth++;}}
		}
简直弱智一般的做法(っ °Д °;)っ

![image](https://img2024.cnblogs.com/blog/3666444/202510/3666444-20251027233052258-591921168.png)
lenth++更是狗屎中的狗屎......

for(int j=0;j<n;j++)
	    { if(b[j+1]>b[j])
		   temp=b[j];}
一山更比一山高666  只要第二个数比第一个数大就变了??
![image](https://img2024.cnblogs.com/blog/3666444/202510/3666444-20251028002041888-808545043.png)
怎么这么多坑啊,还是我理解不够透彻?
a[i] 元素个数<=n,a[i]的值无限呐
for(int j=0;j<n;j++)
	    { if(b[j]>temp)
		   temp=b[j];}
∴这是错误的,b[]遍历不了 值可能无限大

 for(int q=1;q<n;q++)
	    { 
			if(b[q]==b[0])
		 	sum++;
	    }
应该也错了
用 for (int num : arr) { 
        if (num == x) {
            count++;
        }来遍历

bug1:认为 最长长度是“统计出现次数的最大值 × 该次数的元素个数” 啊啊啊啊,还是要看下面的测试用例的, 服了

15
1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
在第三个测试用例中,的最长平衡子序列是 [1,1,1,2,2,2,3,3,3]
若数组是 [1,1,1,2,2],最长平衡子序列 [1,1,2,2](各出现 2 次,长度 4)。此时代码会错误地计算 “最大出现次数 3(元素 1 出现 3 次)× 1”,得到 3,而正确最长长度是 4。
image
别想太多,最后都是f*k这种形式找最大值

summary:题目没读透,自以为很简单,思路错误
......Viajero直接让做英文题,md,看都看不懂插件翻译的什么破玩意,服了 还说很简单,简单你妹啊╰(‵□′)╯

posted @ 2025-10-28 07:46  ervgiu28hg34y827  阅读(7)  评论(0)    收藏  举报