acm1专题

BZOJ 2456 mode(找众数)(暑假ACM1 F)

题意 给n个数,找出出现次数最多的数,保证出现n/2次. 100%的数据,n<=500000,数列中每个数<=maxlongint。 题解 正常思路是快排,然后统计答案。 可是这道题坑就坑在内存只有1M,所以连数组都不能开。 那么就有一种神仙做法了,既然有n/2个,那么其他数加起来都干不过他。 所以我们记录sum为当前众数还剩下的生命[滑稽],ans为当前众数,如果这一次读到的数是众数,他就可以