题目背景
警告:数据可能存在加强
题目描述
某次科研调查时得到了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 【统计数字】 题解的更多相关文章

  1. 洛谷 P1097 统计数字

    P1097 统计数字 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自 ...

  2. [NOIP2007] 提高组 洛谷P1097 统计数字

    题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...

  3. 洛谷—— P1097 统计数字

    https://www.luogu.org/problem/show?pid=1097 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数 ...

  4. 洛谷 1097 统计数字(NOIp2007提高组T1)

    [题解] 排个序然后扫一遍进行统计即可. #include<cstdio> #include<algorithm> #include<cstring> #defin ...

  5. 洛谷P1577 切绳子题解

    洛谷P1577 切绳子题解 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数). 输入输出格 ...

  6. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  7. 洛谷P2832 行路难 分析+题解代码【玄学最短路】

    洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...

  8. 每日一练之排序算法(P1097 统计数字)

    某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5×10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果. ...

  9. 【洛谷P3960】列队题解

    [洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...

  10. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

随机推荐

  1. 备忘】HttpContextAccessor类

    AspNetCore / src / Http / Http / src / HttpContextAccessor.cs // Copyright (c) .NET Foundation. All ...

  2. Quartz.net使用笔记

    一.需求场景:每天固定时间执行某个行为/动作. 一开始想用定时器,后来无意间发现了这个插件,感觉功能太强大了,完美解决了我的问题. 二.下载地址:https://www.quartz-schedule ...

  3. php 安装imap报错“configure: error: utf8_mime2text() has new signature”解决

    环境:php官方docker镜像 php:7.2-apache 安装IMAP扩展模块执行命令:docker-php-ext-install imap 报错信息:configure: error: ut ...

  4. Java的Stream流式操作

    前言 最近在实习,在公司看到前辈的一些代码,发现有很多值得我学习的地方,其中有一部分就是对集合使用Stream流式操作,觉得很优美且方便.所以学习一下Stream流,在这里记录一下. Stream是什 ...

  5. 1-python运算符和逻辑控制语句

    目录 运算符 条件语句if…else 断言assert 循环语句while 遍历for循环 1.运算符 1.1.算数运算符 加+.减-.乘*.除/.余%.次方**.向下取整除// 1.2.赋值运算符 ...

  6. linux下执行python 提示module找不到 要加入系统路劲才找得到

    linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'   import osimport syscurPath = os.pat ...

  7. RxJS——主题(Subject)

    主题(Subjects) 什么是主题?RxJS 主题就是一个特性类型的 Observable 对象,它允许值多路广播给观察者(Observers).当一个简单的 Observable 是单播的(每个订 ...

  8. PB调用C#编写的Dll类库

    在c# 中编写com组件,供PB调用实例 前言:c#中写的dll直接是不能被pb调用的,只有写成com组件才可以调用,所以用c#写dll时要注意. c#中新建类库 类库类型为通用类库,项目名为AddC ...

  9. PHP的垃圾回收机制之引用计数

    1,介绍 php的垃圾回收机制(GC)是在PHP5之后出现的,而在PHP5.3版本之前使用的都是“引用计数”的方式.实现引用计数的实质就是在每个内存对象中都有一个计数器,当内存对象被变量引用时,计数器 ...

  10. Ubuntu 18.04 + Gtx 1660 安装Nvidia 显卡驱动

    1.UEFI禁用secure boot(我的系统是win10主系统,引导ubuntu,安装驱动前电脑存在win10 uefi引导问题) Make sure the "OS Type" ...