CF379C-New Year Ratings Change
https://www.luogu.org/problemnew/show/CF379C
一道水题,折腾了我好久!
解题:
先排序,从小到大挨个满足客户,把最终rating放进集合里,判断是否已经给出,如果这个期望rating已经存在,那么取集合里最大的rating+1,既要满足期望,又不能重复,从小到大排序,每次取最大+1;
#include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> #include<string> #include<vector> #include<iostream> #include<set> #include<cstring> #include<queue> #define inf 0x3f3f3f3f #define ll long long using namespace std;int n; struct node {int x;///原来的数据int id; }; node a[300086];bool cmp1(node p1,node p2) {return p1.x<p2.x;} bool cmp2(node p1,node p2) {return p1.id<p2.id; }int main() {while(scanf("%d",&n)!=EOF){for(int i=0;i<n;i++)scanf("%d",&a[i].x),a[i].id=i;sort(a,a+n,cmp1);set<int>se;se.insert(a[0].x);set<int>::iterator it;for(int i=1;i<n;i++){it=se.end();it--;if( se.count(a[i].x) )///该x已经在set里 {a[i].x=*it+1;}se.insert(a[i].x);}sort(a,a+n,cmp2);for(int i=0;i<n;i++)printf("%d ",a[i].x);printf("\n");}return 0; }
CF379C
转载于:https://www.cnblogs.com/shoulinniao/p/10919230.html
CF379C-New Year Ratings Change相关推荐
- CF 379C New Year Ratings Change
先根据rate排序,去重,注意可能前面去重后的结果影响到后面的值,因此WA了一次.然后在按序列排序回来. #include<iostream> #include<algorithm& ...
- 【IT资讯】TIOBE - 2020年7月编程语言排行
编程语言排行榜 TOP 20 榜单: 统计编程语言R在本月从第9位升至第8位,创造了新的记录. 不久前,Python似乎赢得了统计编程之战,但是R的流行程度在Python的不断提升中仍在增加.有两种趋 ...
- pandas.DataFrame()的基本操作
感觉上pandas的DataFrame就像numpy中的矩阵,不过它拥有列名和索引名,实际操作起来会更方便一些. 如: df = pd.read_clipboard() df.columns df.R ...
- pandas入门学习
知道pandas主要的数据结构以后就可以实际操作学习了,其实学习主要还是学习如何使用Series和Dataframe的属性和方法使用规则,多使用,多看官方文档就差不多了,下面开始学习pandas: S ...
- pandas数据处理实践一(简单走一遍)
pandas处理数据简单的分为如下步骤: 读取数据-->分析数据-->处理数据-->导出数据 第一次主要是走一个流程 df1 = pd.read_csv('/path/xx.csv' ...
- 计算机编程入门语言哪个好?
计算机编程入门语言哪个好?入门语言有基础的推荐C和JAVA语言,零基础的小伙伴推荐从web前端(网页开发)开始.编程已经没什么新鲜和陌生的了,编程已经进入我们生活的方方面面,那么你知道你编程适合学什么 ...
- android卡片风格,[Android] Android 卡片式控件CardView的优雅使用
[Android] Android 卡片式控件CardView的优雅使用 CardView是在安卓5.0提出的卡片式控件 其具体用法如下: 1.在app/build.gradle 文件中添加 comp ...
- 一个程序员给产品经理的话
ok. 一个标准的产品经理有这么几个技能点,那么作为一个程序员,只能给一些工程技术方面的建议了. 从大体环境上来讲,有操作系统(OS), 数据库,服务器,编程语言. 我的工作大致就是使用编程语言, ...
- 第4章 数据获取与存储
目录 4.1 从csv和txt文件存取数据 4.1.1 csv文件的存取 4.1.1.1 以前学过的python读取csv文件 4.1.1.2 pandas读取csv 4.1.1.3 csv文件的写入 ...
- TIOBE 202106 编程语言排行榜(查询网址)
目录 关于TIOBE 网址 202106 排名情况(TIOBE Index for June 2021) 关于TIOBE TIOBE排行榜 是根据互联网上有经验的程序员.课程和第三方厂商的数量,并 ...
最新文章
- hibernate mysql 存储过程_hibernate调用mysql存储过程
- ArcGIS实验教程——实验八:矢量数据拼接
- LevelDB 之 arena
- vue判断组件是否显示_vue组件中watch props根据v-if动态判断并挂载DOM的问题
- day14——内置函数
- 使用glbindbuffers产生访问冲突_预防IP地址冲突的应对方案,你知道吗?
- vscode创建代码片段
- 一种基于地图导航的语音识别管理系统的制作方法
- 函数WaitForMultipleObjects
- SpringSecurity半成品笔记
- 《杂记》- 之- 使用windows终端命令查看文件的MD5
- 西南大学计算机科学学院官网,西南大学计算机与信息科学学院研究生导师简介-李艳涛...
- websocket 实现长连接原理
- php如何与微信公众平台连接失败,微信公众平台接入问题,配置失败不知道是哪的原因?...
- JAVA超全笔试/面试考试题.(500问)--第三章面试题全面收录
- Oracle存储过程中声明数组
- HZ 和 usleep最小睡眠时间(低精度定时器)
- make install - make uninstall - make clean 命令介绍
- android的适配器作用,适配器在Android中的作用是什么?
- 知识图谱在计算机安全的应用,基于知识图谱的计算机领域胜任力研究与应用