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

#先看题目

题目描述

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

输入格式

共 n+1 行。

第一行是整数 n,表示自然数的个数;

第 2 至 n+1 每行一个自然数。

输出格式

共 m 行(m 为 n 个自然数中不相同数的个数),按照自然数从小到大的顺序输出。

每行输出 2 个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

输入输出样例

输入 #1

8
2
4
2
4
5
100
2
100

输出 #1

2 3
4 2
5 1
100 2

说明/提示

  • 30% 的数据满足:1≤n≤1000;
  • 60% 的数据满足:1≤n≤50000;
  • 100% 的数据满足:1≤n≤200000,每个数均不超过 1.5×109。

NOIP 2007 提高第一题

题目链接icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1097 

 #思路

1、先把数输入到数组里,并进行快排:

    cin>>n;for(int i=1;i<=n;i++){cin>>m;a[i]=m;}sort(a+1,a+1+n);

 

2、如果a[i]等于a[i+1]那么ans++, 如果a[i]不等于a[i+1]那么输出i、ans,并把ans回溯。

    for(int i=1;i<=n;i++){if(a[i]==a[i+1])ans++;else {cout<<a[i]<<" "<<ans<<endl;ans=1;}}

#最后附上完整代码 

#include<bits/stdc++.h>
using namespace std;
int a[200001];
int main()
{int n,m,ans=1;cin>>n;for(int i=1;i<=n;i++){cin>>m;a[i]=m;}sort(a+1,a+1+n);for(int i=1;i<=n;i++){if(a[i]==a[i+1])ans++;else {cout<<a[i]<<" "<<ans<<endl;ans=1;}}return 0;
}

给个赞吧Orz 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

24年三月周末总结

工作 我在工作上有一个毛病&#xff0c;就是不能很好的控制精力和情绪&#xff0c;我需要学习精力管理和情绪管理。 目前工作不会有什么起色&#xff0c;计划今年7月份&#xff08;全栈工程师&#xff09;转移到成都。 精力管理 可以在B站查阅这个视频进行学习精力管理 学习…

函数返回二维数组

在C语言中&#xff0c;函数不能直接返回二维数组&#xff0c;因为数组名作为函数参数或返回值时&#xff0c;会退化为指向数组首元素的指针。此外&#xff0c;C语言不支持返回局部数组的引用&#xff0c;因为局部数组在函数返回后其内存会被释放。 1. 使用动态内存分配&#…

Kafka-SSL笔记整理

创建密钥仓库以及CA 创建密匙仓库,用户存储证书文件keytool -keystore server.keystore.jks -alias hello_kafka -validity 100000 -genkey创建CAopenssl req -new -x509 -keyout ca-key -out ca-cert -days 100000将生成的CA添加到客户端信任库keytool -keystore client.trus…

SPI驱动分析之二

三、主控制器的驱动注册 文件spi_imx.c中 subsys_initcall(spi_imx_init); static int __init spi_imx_init(void) { return platform_driver_register(&spi_imx_driver); } static struct platform_driver spi_imx_driver { .driver { .name DR…

InfluxDB下载安装教程

InfluxDB下载安装教程 一、简介二、【linux】InfluxDB下载安装配置2.1 下载安装2.1.1 apt在线安装2.1.2 离线安装 2.2 配置及启动 3、windows 下的安装方式4、InfluxDB基本使用4.1 创建用户4.2 数据库 回到目录 一、简介 InfluxDB是一个由InfluxData开发的开源时序型数据库。它…

串行通信——IIC和SPI应用场景区别

1.区别描述 SPI&#xff08;Serial Peripheral Interface&#xff09;和I2C&#xff08;Inter-Integrated Circuit&#xff0c;也称IC&#xff09;都是串行通信接口&#xff0c;但它们在应用上确实存在一些重叠之处&#xff0c;同时也各有特点和适用场景&#xff1a; SPI的主…

软件之禅(十)数据库

黄国强 2024/03/16 说点题外话&#xff0c;写程序是个非常有意思的智力游戏&#xff0c;想到业内很多人把这么一个智力游戏变成体力劳动&#xff0c;颇有些唏嘘。 回到正题&#xff0c;继续我对软件的思考。我是80年代的大学生&#xff0c;当时学的是dBASE数据库。毕业…

前端之CSS 创建css--行内引入、内联样式、外联样式

创建css有三种创建样式&#xff0c;行内引入、内联引入、外联引入。 行内引入 在行内标签引入 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>行内样式</title> </head> <body>…

php中 0 == ‘’(0等于任意字符串) 判断是否成立 返回true

php中不同类型变量之间比较大小 一、背景二、探究0是为什么&#xff1f;三、探究 0all是为什么&#xff1f;四、程序中如何判断0是否等于指定字符串 一、背景 最近在项目实际开发中&#xff0c;我需要判断前端传来的参数值是否等于一个字符串&#xff1b;然后发现当参数值是0时…

element-plus怎么修改表单中的label字体颜色及大小

问题描述&#xff1a; 当我们在vue3中使用element-plus组件库提供的表单组件时&#xff0c;有时我们需要修改表单中label的字体颜色等属性&#xff0c;这是如果直接选中label的class进行修改是不起作用的&#xff0c;我们只需深度选择即可选中并进行修改。 比如&#xff1a; …

IO Watch:用 Arduino UNO 制造的可编程手表

MAKER:mblaz/译:趣无尽 Cherry(转载请注明出处) 关于手表的项目,之前我们已经介绍过一款《Arduino + 3D 打印 DIY 电子手表》。本期的项目同样的一款基于 Arduino UNO 的可编程的手表,相比之下制造门槛更高一些。同时它更成熟、实用,外形也很有设计感,非常的漂亮! 这…

【打工日常】使用Docker部署团队协作文档工具

一、ShowDoc介绍 ​ShowDoc是一个适合IT团队共同协作API文档、技术文档的工具。通过showdoc&#xff0c;可以方便地使用markdown语法来书写出API文档、数据字典文档、技术文档、在线excel文档等等。 响应式网页设计&#xff1a;可将项目文档分享到电脑或移动设备查看。同时也可…

vue2中 因响应式原理采用Object.defineProperty数据劫持 导致几种方式改变数据页面 不重新渲染的解决办法

1. vue2 中通过索引修改数组数据不会重新渲染页面 使用数组方法可重新渲染页面 <template><div><ul><li v-for"item in names" :key"item">{{ item }}</li></ul><div><button click"replaceRoles"…

WXML 模板语法

数据绑定 1. 数据绑定的基本原则 ① 在 data 中定义数据 在页面对应的 .js 文件中&#xff0c;把数据定义到 data 对象中即可 ② 在 WXML 中使用数据 2. Mustache 语法的格式 把 data 中的数据绑定到页面中渲染&#xff0c;使用 Mustache 语法&#xff08;双大括号&#x…

SpringBoot jar包在后台运行,关闭cmd窗口程序不关闭

如果你想在运行 jar 文件后保留命令行窗口不关闭&#xff0c;你可以在运行 jar 文件时在命令行中使用 pause 命令。例如&#xff1a; java -jar myjarfile.jar pause 1 2 3 这样&#xff0c;在 jar 文件运行完后&#xff0c;命令行窗口会暂停&#xff0c;并显示一…

C++中如何引用一个已经定义过的全局变量?

在C或C中&#xff0c;要引用一个已经定义过的全局变量&#xff0c;你需要确保几件事情&#xff1a; 全局变量需要在引用它之前已经被定义。通常&#xff0c;全局变量定义在函数之外&#xff0c;可能是在文件的开始部分&#xff0c;或者在一个单独的头文件中。如果全局变量定义…

三次握手seq和ack的流程 TCP协议栈seq和ack深层理解

☆ 大家可以把想了解的问题在评论发给我?我会根据问题补充到后面 ☆ 三次握手seq和ack的流程 是的,在TCP/IP协议中,三次握手过程确实涉及到序列号(Sequence Number, 简称Seq)和确认号(Acknowledgment Number, 简称Ack)的交换。这个过程是为了建立可靠的连接,确保数据能…

Spring Data访问 MongoDB(十六)----CDI集成

存储库接口的实例通常由容器创建&#xff0c;在使用Spring Data时&#xff0c;Spring是最自然的选择。从1.3.0版本开始&#xff0c;Spring Data MongoDB附带了一个自定义的CDI扩展&#xff0c;允许你在CDI环境中使用存储库抽象。扩展是JAR的一部分。要激活它&#xff0c;请将Sp…

对OceanBase进行 sysbench 压测前,如何用 obdiag巡检

有一些用户想对 OceanBase 进行 sysbench 压测&#xff0c;并向我询问是否需要对数据库的各种参数进行调整。我想起有一个工具 obdiag &#xff0c;具备对集群进行巡检的功能。因此&#xff0c;我正好借此机会试用一下这个工具。 obdiag 功能的比较丰富&#xff0c;详细情况可参…

【设计模式】Java 设计模式之单例模式(Singleton Pattern)

一、单例模式概述 单例模式是一种创建型设计模式&#xff0c;它确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来访问这个唯一实例。在软件设计中&#xff0c;单例模式常用于管理那些只需要一个实例的类&#xff0c;如配置信息类、数据库连接池等。 二、单例模式结…