E. Boxers

题意
给n个元素,你可以对每个元素选择加一或者减一或者不变,问最后怎么样可以使不同的数量最多。
思路
贪心+模拟
我们可以把每一个数都记下来出现过几次,我们从1枚举到元素的最大值,如果这个数出现过,就处理这个数,我们改变元素的原则是,如果这个元素减一没有出现过的话,就先让这个元素减一,因为这样的操作可以对以后的操作影响最小,如果选择先选择不变的话,你这个元素可能会影响到以后的选择。
所以我们贪心的原则就是,如果一个元素的减一没有存在过的话就先让这个元素减一,如果元素减一存在的话,就直接选择不变,这样取到的不同值是最多的。
代码

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N=150010;
int a[N];
bool vis[N];
int main()
{int n;scanf("%d",&n);int max1=0;for(int i=1 ; i<=n ; i++){int x;scanf("%d",&x);a[x]++;max1=max(max1,x);}long long ans=0;for(int i=1 ; i<=max1 ; i++){if(a[i]>0){if(!vis[i-1]&&i!=1){vis[i-1]=true;ans++;a[i]--;}if(a[i]>=2){if(!vis[i]){vis[i]=true;ans++;a[i]--;}if(!vis[i+1]){vis[i+1]=true;ans++;a[i]--;}continue;}if(a[i]==1){if(!vis[i]){vis[i]=true;ans++;a[i]--;continue;}if(!vis[i+1]){vis[i+1]=true;ans++;a[i]--;}}}}cout<<ans<<endl;return 0;
}

E. Boxers Div3相关推荐

  1. codeforces Div3 E. Boxers(签到题)

    codeforces Div3 E. Boxers 题目 http://codeforces.com/problemset/problem/1203/E 题意 有n个人参加比赛,比赛要求参赛选手的体重 ...

  2. Codeforces Round #579 div3 E Boxers(思维)

    题目链接 题意 给一行数有n个,对于每个数可以增大1,也可以减小1,也可以不变,要求修改后必须是正整数,不可为0.将修改后的数去重,问最多有几个? #include <bits/stdc++.h ...

  3. Codeforces Round #535 (Div. 3) [codeforces div3 难度测评]

    hhhh感觉我真的太久没有接触过OI了 大约是前天听到JK他们约着一起刷codeforces,假期里觉得有些颓废的我忽然也心血来潮来看看题目 今天看codeforces才知道居然有div3了,感觉应该 ...

  4. CF1472(div3):总结

    文章目录 前言 A. Cards for Friends 题意简述 解析 代码 B. Fair Division 题意简述 解析 代码 C. Long Jumps 题意简述 解析 代码 D. Even ...

  5. codeforces-1176 (div3)

    打div3翻车了 A.第一个操作是除二,第二个操作视为两下操作之后除三,第三个操作视为三下操作之后除五,直接计算贡献 #include <map> #include <set> ...

  6. 20230304 CF855 div3 vp

    Dashboard - Codeforces Round 855 (Div. 3) - Codeforces 呃呃,评价是,毫无进步 呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃 该加训了该加训了该加训了该加训 ...

  7. cf----2019-09-14(You Are Given a Decimal String...,XOR Guessing,Boxers)

    明若清溪天下绝歌 缱绻成说,不知该在哪处着墨:一生情深怎奈何世事 徒留斑驳,只一念痴恋成奢. Suppose you have a special xx-yy-counter. This counte ...

  8. Boxers CodeForces - 1203E (贪心解法)——26行代码AC

    立志用更少的代码做更高效的表达 There are n boxers, the weight of the i-th boxer is ai. Each of them can change the ...

  9. E. Boxers(贪心)

    E. Boxers(贪心) There are nn boxers, the weight of the ii-th boxer is aiai. Each of them can change th ...

最新文章

  1. 用页传值方式解决模态窗口的Response.WriteFile文件下载
  2. 如何成为一名优秀的架构师
  3. 如何在本地连接服务器上的MySQL
  4. go语言 sync.map遍历时删除可以全部删除
  5. h5 video全屏播放
  6. WEB前端开发职业学习路线初级完整版
  7. Android依赖注入:Dagger、RoboGuice和ButterKnife
  8. 好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
  9. HTML 纯数字或字母 超出div容器,如果是文字则可正常自动折行
  10. 2021-09-02最大矩形
  11. Linux 线程及线程间通信
  12. 实用开发工具及框架概述
  13. LocalDateTime日期格式之间的转换
  14. 解决夜神模拟器连接不上问题
  15. android hid 触摸屏驱动,针对USB接口触摸屏HID免驱触摸屏配置方法
  16. String.matches()的用法
  17. 《薛兆丰经济学讲义》的118个思考题
  18. 掷骰子java程序_掷骰子游戏窗体实现--Java初级小项目
  19. HTML5期末大作业:甜品奶茶网站设计——甜品奶茶店(19页) HTML5网页设计成品_学生DW静态网页设计_web课程设计网页制作
  20. U-Boot命令使用

热门文章

  1. 为什么鼓励可以重塑一个职场人?
  2. 巨头博弈工业互联网的“大航海时代”
  3. 2010计算机软件二级考试,2010年全国计算机等级考试全攻略
  4. OA系统,企业信息化建设的“理想”办公管理工具
  5. php 编辑PDF文件,php word 转 PDF,php 编辑 word,phpoffice,phpword,libreoffice
  6. 【HTML——变幻粒子】(效果+代码)
  7. css3如何实现滑块
  8. 浅谈对美国主机进行空间设计的方法
  9. 看恒大集团用大数据如何精准扶贫
  10. 静默调用ShellContextMenu 实现QQ文件共享