博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[bzoj2456]mode
阅读量:4635 次
发布时间:2019-06-09

本文共 783 字,大约阅读时间需要 2 分钟。

来自FallDream的博客,未经允许,请勿转载,谢谢。


给定n个数,其中有一个数出现次数大于n/2,输出那个数  内存1MB

题解:先记下第一个数和此时的出现次数(一开始是1),然后一个个往后处理,如果这个数和现在几下的数不同,那么出现次数-1,否则出现次数+1。如果出现次数变为0,则把记下的数字改成现在这个数,这样一定能找到那个数。

比如3 2 4 3 3    (3,1)->(2,1)->(4,1)->(3,1)->(3,2),找到了数字3

只能卡到40ms不知道rank1怎么卡到的36ms

#include
using namespace std;char B[1<<15],*S=B,*T=B,C;int X;#define getc() (S==T&&(T=((S=B)+fread(B,1,1<<15,stdin)),S==T)?0:*S++)inline int read(){ X=0;C=getc(); while(C < '0' || C > '9'){ C = getc();} while(C >= '0' && C <= '9'){X = X * 10 + C - '0';C = getc();} return X;}int n,a,b,x;int main(){ n=read();a=read();b=1; for(register int i=2;i<=n;++i) x=read(), x==a?++b:--b, b?0:(a=x,b=1); printf("%d",a); return 0;}

 

转载于:https://www.cnblogs.com/FallDream/p/bzoj4067.html

你可能感兴趣的文章
泛型在三层中的应用
查看>>
云栖社区> > 正文 永久免费SSL安全证书Letsencrypt安装使用方法
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
jq--ajax中止请求
查看>>
osgearth+vs2010安装
查看>>
linux内核内存管理(zone_dma zone_normal zone_highmem)
查看>>
第十一章_文件下载
查看>>
js自己定义插件-选项卡
查看>>
针对JavaScript的常用事件、对象捕获和使用技巧
查看>>
[NOI 2015]荷马史诗
查看>>
Struts2注解
查看>>
WCF入门(一)——简单的示例
查看>>
深入理解Java的接口和抽象类
查看>>
MYSQL 连接数据库命令收藏
查看>>
struts2登录后返回登录前的页面
查看>>
ECMAScript——引用数据类型之array
查看>>
leetcode--Reorder List
查看>>
客户资料查询传递数据格式
查看>>
报错提示优化
查看>>
Oracl 12c (课本)
查看>>