[洛谷2397]yyy loves Maths VI
题目背景
自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居然也不会,所以只好找你
题目描述
他让redbag找众数
他还特意表示,这个众数出现次数超过了一半
一共n个数,而且保证有
n<=2000000
而且每个数<2^31-1
输入输出格式
输入格式:
第一行一个整数n
第二行n个整数
输出格式:
一行,这个众数
输入输出样例
输入样例#1:
5
2 3 3 3 3
输出样例#1:
3
说明
时间限制 1s
空间限制 3.5M(你没看错3.5M)
有人想水过,但我告诉你这空间是不够的
思路
引用了洛谷上@思援弓的思路,看到题目中的2,000,000就知道直接开一个2,000,000的数组是不切实际的,更不用说好写的计数排序前半部分了,有的人想到链表,只能说这样子如果除了众数其余数皆不同就要1,000,000这么大的链表了(至此都没有用到题目给出的条件),然后题目说众数的数目超过一半,这样就可以不是很严格地存储数和数的个数了,于是就有了以下的做法:把一个数除以某个常数,把商和余分别储存下来,最后统计最多的某个商和最多的某个余还原成众数即可(易知该众数的商和余必定大于一半的个数,而个数大于一半的数有且只有一个)
const ma=;
var i,tmp,n,aa,bb:longint;
a,b:array[..ma]of longint;
begin
readln(n);
fillchar(a,sizeof(a),);
fillchar(b,sizeof(b),);
for i:= to n do
begin
read(tmp);
inc(a[tmp mod ma]);
inc(b[tmp div ma]);
end;
for i:= to ma do
begin
if a[i]>n/ then aa:=i;
if b[i]>n/ then bb:=i;
end;
writeln(bb*ma+aa);
end.
[洛谷2397]yyy loves Maths VI的更多相关文章
- 洛谷P2397 yyy loves Maths VI (mode)
P2397 yyy loves Maths VI (mode) 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居 ...
- 洛谷P2396 yyy loves Maths VII
P2396 yyy loves Maths VII 题目背景 yyy对某些数字有着情有独钟的喜爱,他叫他们为幸运数字;然而他作死太多,所以把自己讨厌的数字成为"厄运数字" 题目描述 ...
- 洛谷——P2393 yyy loves Maths II
P2393 yyy loves Maths II 题目背景 上次蒟蒻redbag可把yyy气坏了,yyy说他只是小学生,蒟蒻redbag这次不坑他了. 题目描述 redbag给了yyy很多个数,要yy ...
- 洛谷 P2393 yyy loves Maths II
P2393 yyy loves Maths II 题目背景 上次蒟蒻redbag可把yyy气坏了,yyy说他只是小学生,蒟蒻redbag这次不坑他了. 题目描述 redbag给了yyy很多个数,要yy ...
- [CF327E]Axis Walking([洛谷P2396]yyy loves Maths VII)
题目大意:给一个长度为$n(1\leqslant n\leqslant24)$的序列$S$和$k(0\leqslant k\leqslant2)$个数. 求有多少种$S$的排列方式使得其任何一个前缀和 ...
- [洛谷P2396]yyy loves Maths VII $\&$ [CF327E]Axis Walking
这道题是一个状压动归题.子集生成,每一位表示是否选择了第$i$个数. 转移:$f[S] = \sum f[S-\{x\}]$且$x\in S$,当该子集所有元素的和为$b_1$或$b_2$时不转移. ...
- 洛谷P2396 yyy loves Maths VII【状压dp】
题目:https://www.luogu.org/problemnew/show/P2396 题意:有n个数,每次选择一个表示走$a[i]$步,每个数只能选一次. 最多有两个厄运数字,如果走到了厄运数 ...
- 「洛谷P2397」 yyy loves Maths VI (mode) 解题报告
P2397 yyy loves Maths VI (mode) 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居 ...
- 洛谷 P1580 yyy loves Easter_Egg I
洛谷 P1580 yyy loves Easter_Egg I 题解: 队列+字符串 #include <cstdio> #include <string> #include ...
随机推荐
- 转 修改oracle用户密码永不过期
1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如default)的 ...
- NpoiUtil
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- PHP学习笔记(4) - 实现自己的MVC框架
在PHP中实现一个所谓的MVC框架非常简单.这里说一下思路. 一.首先用spl_autoload_register函数实现自己的类型自动加载机制.这样其他代码都不需要再考虑如何将类所在的文件inclu ...
- PHP 生成随机浮点数
<?php /** * @desc 获取随机浮点数(支持最大最小值参数互换) * @date 2014-11-07 17:04:21 * * @param int|\最小浮点数 $min 最小浮 ...
- 在Linux上安装Memcached服务
下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...
- IIS MIME类型问题(html5 video 本地打开可以,IIS打开不了)
问题: mediaelement js(html 5 视频插件)网页用ie9本地打开可以,iis,vs2010在ie9上运行不了,chrome可以 (在博客园里有个人跟我遇到相同的问题:http:// ...
- SWFUpload 按钮显示问题
问题: 今天遇到一个这样的问题,我用Vs2010打开用SWFUpload上传文件的网页时,按钮显示不出来,试了好多方法,终于被我找到了! 解决方法: 原来是vs2010自带的Asp.net Devel ...
- 【深度学习系列3】 Mariana CNN并行框架与图像识别
[深度学习系列3] Mariana CNN并行框架与图像识别 本文是腾讯深度学习系列文章的第三篇,聚焦于腾讯深度学习平台Mariana中深度卷积神经网络Deep CNNs的多GPU模型并行和数据并行框 ...
- 【win8技巧】应用商店里面如何搜索应用app
win8应用商店搜索app软件的技巧 1.组合键 WIN+C 打开屏幕最右边磁条 2.点击搜索,输入你想搜的软件名称,里面会列出你已经安装的app或者你点击下面的应用商店选项,就可以搜索互联网上应用商 ...
- java对xml文件做增删改查
http://www.cnblogs.com/wangchenyang/archive/2011/08/23/2150530.html http://www.blogjava.net/weishuan ...