该题一种非常简单的做法
查看原帖
该题一种非常简单的做法
513937
zazic楼主2024/10/26 21:29

首先附AC代码

#include<bits/stdc++.h>
using namespace std;
const int N=2e6+10;
int a[N],n,x,maxn;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x;
		a[x]++;
		maxn=max(a[x],maxn);
	}
	cout<<maxn<<endl;
	return 0;
}

思路讲解(抄自qq聊天记录,给同学讲的)

A:对了,就是等价替换嘛

A:看看哪个数出现的次数最多就行了。

A:因为是这样的,这个数就算不是最大的,但是比他大的的攻击了他,最大的就替换了他。

A:如果本来就是最大的,因为没有能攻击他的,也是一样的。

Q:?

Q:那要是11111113呢?

A:3打了一个1,替换了1,所以答案就是7。

Q:卧槽。

Q:还真是。

Q:11112222333445

A:2222替换1111

Q:2替换1

A:333替换3个2

Q:3替换,然后45再看。

Q:我去。sto orz

2024/10/26 21:29
加载中...