洛谷 P1097 【统计数字】 题解
题目背景
警告:数据可能存在加强
题目描述
某次科研调查时得到了nn个自然数,每个数均不超过1500000000(1.5 \times ^)(1.5× )。已知不相同的数不超过1000010000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 输入输出格式
输入格式:
共n+1n+1行。 第一行是整数nn,表示自然数的个数; 第22至n+1n+1每行一个自然数。 输出格式:
共mm行(mm为nn个自然数中不相同数的个数),按照自然数从小到大的顺序输出。 每行输出22个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。 输入输出样例
输入样例#: 输出样例#: 说明
%的数据满足:≤n≤
%的数据满足:≤n≤
%的数据满足:≤n≤,每个数均不超过1500000000(1.5×)
首先,要注意这道题的数据范围
其次,个人认为本题解是最适合萌新的
看别的大佬都用 map 或 set 之类的怪东西,个人认为一个一维数组就完全可以AC掉这道题
我感觉我的代码应该算快的了用了321ms 1448KB
先用一个快排
然后进行以下处理(解释都在核心代码里了~QAQ~)
for(int i=;i<=n;i++)
{
int sum1=;//看看有几个数是相同的
for(int j=i;j<=n;j++)//从i一直找
{
if(s[j]==s[j+])//如果相同
{
sum1++;//计数器加一
}
else
{
break;//不然就直接退出,避免出现另外两个数相同的情况
}
}
cout<<s[i]<<" "<<sum1+<<endl;//输出
i+=sum1;//相当于将一样的数算在一起,然后直接到下一个不相等的数的位置
}
以下是代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<algorithm> using namespace std; int s[]; int main()
{
int n;
int maxn=-;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>s[i];
}
sort(s+,s+n+);
for(int i=;i<=n;i++)
{
int sum1=;
//cout<<s[i]<<endl;
for(int j=i;j<=n;j++)
{
if(s[j]==s[j+])
{
sum1++;
}
else
{
break;
}
}
cout<<s[i]<<" "<<sum1+<<endl;
i+=sum1;
}
return ;
}
洛谷 P1097 【统计数字】 题解的更多相关文章
- 洛谷 P1097 统计数字
P1097 统计数字 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自 ...
- [NOIP2007] 提高组 洛谷P1097 统计数字
题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...
- 洛谷—— P1097 统计数字
https://www.luogu.org/problem/show?pid=1097 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数 ...
- 洛谷 1097 统计数字(NOIp2007提高组T1)
[题解] 排个序然后扫一遍进行统计即可. #include<cstdio> #include<algorithm> #include<cstring> #defin ...
- 洛谷P1577 切绳子题解
洛谷P1577 切绳子题解 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数). 输入输出格 ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- 洛谷P2832 行路难 分析+题解代码【玄学最短路】
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...
- 每日一练之排序算法(P1097 统计数字)
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5×10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果. ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
随机推荐
- Java多线程分批发送消息的小例子
需求: 假设有10万个用户,现在节假日做活动,需要给每个用户发送一条活动短信,为了提高程序的效率,建议使用多线程分批发送. 这里值得注意的是: 每开一个线程都会占用CPU的资源,所以线程根据所需要的条 ...
- jwt的简单使用
目录 简介 java版本 golang版本 简介 使用jwt对数据进行存储加密,分为java和golang版本. java版本 maven配置 <dependency> <group ...
- .net core mvc启动顺序以及主要部件4-MVC
前面三章已经把MVC启动过程以及源代码做了讲解,本章开始正式MVC,mvc全称叫model view controller,也就是把表现层又细分三层,官网的图片描述: 默认创建了一个.net core ...
- c# mvc使用富文本编辑器数据上传回显问题,图片,附件上传解决方案
1.首先去官网下载编辑器:http://ueditor.baidu.com/website/download.html 我用的是asp.net mvc开发模式所以选的是asp 2.前端页面必须引 ...
- js/jquery键盘事件及keycode大全
js/jquery的键盘事件分为keypress.keydown和keyup事件 一.键盘事件 1.keydown()事件当按钮被按下时,发生 keydown 事件. 2.keypress()事件ke ...
- 如何在Linux中复制文档
在办公室里复印文档过去需要专门的员工与机器.如今,复制是电脑用户无需多加思考的任务.在电脑里复制数据是如此微不足道的事,以致于你还没有意识到复制就发生了,例如当拖动文档到外部硬盘的时候. 数字实体复制 ...
- NodeJS新建服务器以及CommonJS规范
1.什么是node.js?(1)Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.( ...
- PHP extension_loaded()用法
一.extension_loaded()函数表示检查一个扩展是否成功加载 if(!extension_loaded('sysvmsg')) { echo "Please install sy ...
- shell:echo -e "\033字体颜色"
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m 你好 \033[0m" 其中 ...
- 《Spring Boot Cook Book》阅读笔记
最近一个月一直在学习Spring Boot框架,在阅读<Spring Boot Cook Book>一书的过程中,记录了一些学习笔记,在这里整理出一篇目录供大家参考. 一.Spring B ...