[ BZOJ 2456 ] Mode
生活随笔
收集整理的這篇文章主要介紹了
[ BZOJ 2456 ] Mode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
\(\\\)
\(Description\)
一個長度為\(N\)的數列,求其眾數。
- \(N\in [1,5\times 10^5]\),數字大小\(\le maxlongint\),空間限制\(1MB\)
\(\\\)
\(Solution\)
我是智障您們都太神了
空間大點離散化或者\(map\)就水過去了
注意到眾數出現次數\(> \frac{N}{2}\),于是神仙做法是令不同的數字互相抵消,那么最后剩下的數一定是眾數,按順序讀進來開個計數器就行了。
漲姿勢原來調用像iostram的一些頭文件還需要空間
\(\\\)
\(Code\)
#include<cstdio> using namespace std;int main(){int n,m,now,cnt;scanf("%d",&n);while(n--){scanf("%d",&m);(m==now)?++cnt:--cnt;if(cnt<=0) cnt=1,now=m;}printf("%d\n",now);return 0; }
轉載于:https://www.cnblogs.com/SGCollin/p/9614350.html
總結
以上是生活随笔為你收集整理的[ BZOJ 2456 ] Mode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python接口自动化-参数化
- 下一篇: 整数的运算