BZOJ2456 mode】的更多相关文章

http://www.lydsy.com/JudgeOnline/problem.php?id=2456 (题目链接) 只看了一眼,直觉便告诉我这是水题.于是跟某码农打赌说10分钟做出来叫爸爸,结果输了... 题意 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数.空间限制1mb. solution 此题乃鬼题一道,鉴定完毕. 题目要求求众数,而众数x在整个数列中出现了超过n div 2次,那么我们可以发现,整个数列中众数x的个数一定超过n div 2次,也就是说…
Position: http://www.lydsy.com/JudgeOnline/problem.php?id=2456 List Bzoj2456 mode List Description Solution Code Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Solution 众数出现的次数>=n/2+1,采用抵消的方法,如果当前数不等于之前记录的数给计数器-1 else +1,当计数器<=0时,可以update数. 证…
以后把题解放在前面,估计没人看题解先看题... 内存1M,4个int(其实对内存的概念十分模糊),众数即为出现次数最多的数,可以用抵消的思想(但是众数不是可以是一大坨么...) #include <cstdio> using namespace std; int now,n,a,t; int main() { scanf("%d",&n); ;i<=n;i++) { scanf("%d",&a); if (now==a) t++;…
Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n. 第2行n个正整数用空格隔开. Output 一行一个正整数表示那个众数. Sample Input 5 3 2 3 1 3 Sample Output 3 HINT 100%的数据,n<=500000,数列中每个数<=maxlongint. 正解:... 解题报告: 首先题目要求的是出现次数大于n/2的数,显然这个数的出现次数比别的数都要多,那么我们可以…
有趣的题目 空间1mb,所以开数组的算法就不要想了(我一开始没看到……) 仔细读题,然后发现这里他限定众数为出现超过n div 2次 也就是说,这个数可以对应每一个不相同的数消掉,最终还剩下这个数 也就是说,我们遍历,遇到不相同的就两两抵消,最终剩下的一定是ans 得解, var n,i,s,ans,x:longint; begin   readln(n);   s:=;   to n do   begin     read(x);     ) then     begin       inc(…
不能把数存下来. 于是来打擂台,如果新数和他不相等,cnt--,否则cnt++.如果cnt<=0了,那个新数就来把它顶掉,然后把cnt重置成1 最后在台上的就是那个次数大于N/2的众数 (连<bits/stdc++.h>都不能include..直接MLE) #include<cstdio> using namespace std; int main(){ int N;scanf("%d",&N); ,cnt=; ;i<=N;i++){ int…
http://www.lydsy.com/JudgeOnline/problem.php?id=2456 任意删除序列中两个不同的数,众数仍然是众数 不停的删,剩下的最后的数一定是众数 具体实现: 记录一个当前数和出现次数 如果下一个数和当前数不相等,出现次数-1 当出现次数变为0时,当前数换为下一个数 #include<cstdio> int main() { ,x,last; scanf("%d",&n); while(n--) { scanf("%d…
P2397 yyy loves Maths VI (mode) 神奇的摩尔投票法(大雾) 保证众数个数大于一半. 两两相消,剩下的那个必定是众数. 我们只要开2个变量,一个存个数,一个存值即可. (luogu的数据卡快读???) luogu P2397 code: #include<cstdio> using namespace std; int cnt,id,n,q; int main(){ scanf("%d",&n); ;i<=n;++i){ scanf…
题解:http://www.tuicool.com/articles/BfQBzif #include<cstdio> using namespace std; int n,x,ans,tot; int main() { scanf("%d",&n); ;n--) { scanf("%d",&x); ;} else if(x==ans) tot++; else tot--; } printf("%d\n",ans);…
传送门 看到这个题的第一反应是离散化+线段树乱搞.. eeeeeeeeeeee感觉数据结构学傻了,其实直接存下来,sort一遍,n/2的位置的就是答案 当然前提是空间够的话 1m的空间连数组都开不下 于是有了一个很巧妙的思路,吼吧,直接给链接 http://blog.csdn.net/suncongbo/article/details/76862425 #include <cstdio> int n, top, num, now; int main() { scanf("%d&quo…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2456 这道题有着神奇的内存限制1MB也就是说我们是没办法把读入的数字存下来的. 由于答案求的众数出现次数大于$\frac{n}{2}$,我们可以用一种抵消的思想,就是两个不相同的数互相抵消,这样最后剩下的那个数一定就是众数. #include<cstdio> int inline readint(){ int Num;char ch; '; +ch-'; return Num; } i…
改题改自闭的时候当然要靠水题来调节心情(逃 2456: mode Time Limit: 1 Sec  Memory Limit: 1 MBSubmit: 8461  Solved: 3171[Submit][Status][Discuss] Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n. 第2行n个正整数用空格隔开. Output 一行一个正整数表示那个众数. Sample Input 5 3 2 3…
2456: mode Time Limit: 1 Sec  Memory Limit: 1 MBSubmit: 4798  Solved: 2009[Submit][Status][Discuss] Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n.第2行n个正整数用空格隔开. Output 一行一个正整数表示那个众数. Sample Input 5 3 2 3 1 3 Sample Output 3 HI…
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 BZOJ1295 BZOJ3109 BZOJ1085 BZOJ1041 BZOJ1087 BZOJ3038 BZOJ1821 BZOJ1076 BZOJ2321 BZOJ1934 BZOJ…
沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道就行了. BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 B…
小学生日记: 2019.10.13,哈尔滨,打了个铜 开头 先说结论,这次失败,我的锅70%,sdl的锅5%,ykh25% Day0 周五, 我们队出现了奇怪的厄运上身 首先是我中途在飞机上数据线突然出现在前面座位上,下了飞机发现数据线丢了( 然后ykh的羽绒服被刮掉了一堆毛 后来sdl比赛的时候也一直激动地拉肚子上厕所 本来我是十分反对今天去吃东北菜的,但是还是架不住饿的诱惑,吃了一盆锅包肉 Day1 哈尔滨真的是冷的一笔,我们出发去东北林业大学 学校很大很豪华,风景很美 和女队一起报道完拍了…
首先用到bzoj2456的做法,因为要求这个数出现次数超过了一半,如果其与不同的数两两相消的话最终一定会剩下自身(如果不保证存在可能会剩下别的,但保证存在了只会剩下自身),然后再用可持久化线段树维护即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 500005 4 #define mid (l+r>>1) 5 map<int,int>mat; 6 int V,n,m,x,y,r[N],a[N]…