Luogu P2397 yyy loves Maths VI (mode)

Posted wxl-ezio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu P2397 yyy loves Maths VI (mode)相关的知识,希望对你有一定的参考价值。

题目传送门

虽然只是一道黄题,但还是学到了一点新知识——

摩尔投票法

(O(1))的内存,(O(n))的时间来找出一串长度为n的数中的众数,前提是众数出现的次数要大于(n/2)

方法很简单:

for(int i=1;i<=n;i++){
    int x; scanf("%d",&x);
    if(ans==x) cnt++;
    else
      if(cnt==0) ans=x,cnt++;
      else cnt--;
}
    

因为众数的数量要大于(n/2),所以无论再怎么散,也至少有两个众数是连着的

以上是关于Luogu P2397 yyy loves Maths VI (mode)的主要内容,如果未能解决你的问题,请参考以下文章