题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6188

题意

有n个数字,每个数字小于等于n,两个相同的数字价值为1,三个连续的数字价值为1 。问这n个数字的最大价值是多少

思路

用map对这n个数字中每个数字出现的次数进行统计,用ans记录总价值。然后从数字1开始向后考虑,如果数字i出现的次数不小于2,那么ans加上数字i出现的次数除以二(两个相同的数字价值为1),然后让这个次数对2取模,接下来判断数字i还有没有(即:是否为1);如果为1,考虑数字i+1出现的次数和i+2出现的次数,如果数字i+1出现了奇数次,并且数字i+1出现过,那么让i,i+1,i+2这三个数字出现的次数全部减一,ans加一,此时数字i已经全部用完了。以此类推,至到n,停止循环(因为这n个数字的大小不会超过n),输出ans

AC代码

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <limits.h>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <string>
#define ll long long
#define ms(a) memset(a,0,sizeof(a))
#define pi acos(-1.0)
#define INF 0x3f3f3f3f
const double E=exp(1);
const int maxn=1e6+10;
using namespace std;
int a[maxn];
int main(int argc, char const *argv[])
{int n;while(~scanf("%d",&n)){ms(a);map<int,int>mmp;for(int i=1;i<=n;i++){scanf("%d",&a[i]);mmp[a[i]]++;}int ans=0;for(int i=1;i<=n;i++){if(mmp[i]>=2){ans=ans+mmp[i]/2;mmp[i]%=2;}if(mmp[i]&&(mmp[i+1]%2)&&mmp[i+2]){ans+=1;mmp[i]--;mmp[i+1]--;mmp[i+2]--;}}printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/Friends-A/p/10324446.html

HDU 6188:Duizi and Shunzi(贪心)(广西邀请赛)相关推荐

  1. HDU 6188 Duizi and Shunzi

    栈. 将数字排序后,一个一个压入栈.如果栈顶两个元素形成了对子,那么$ans+1$,弹出栈顶两个元素:如果栈顶三个元素形成了顺子,那么$ans+1$,弹出栈顶三个元素. #include<bit ...

  2. 2017ACM/ICPC广西邀请赛

    2017ACM/ICPC广西邀请赛(感谢广西大学) 题号 题目 考点 难度 A A Math Problem 数论 签到题 B Color it C Counting Stars D Covering ...

  3. HDU 2795 Billboard (线段树+贪心)

    HDU 2795 Billboard (线段树+贪心) 手动博客搬家:本文发表于20170822 21:30:17, 原地址https://blog.csdn.net/suncongbo/articl ...

  4. 2017广西邀请赛重现赛

    总题解:http://www.nike0good.com/674.html 1001: 2017ACM/ICPC广西邀请赛-重现赛 1001 A Math Problem #include <i ...

  5. 2017ACM/ICPC广西邀请赛题解

    以下所有AC题解代码来自"仙客传奇"团队. AC题数:10/12 ABCDEFGHJK A. A Math Problem AC的C++语言程序: #include<iost ...

  6. HDU 6188 2017广西邀请赛:Duizi and Shunzi

    题意: 有n张牌,每张牌上都有一个不超过n的正整数,你可以选择三张数字连续的牌作为一个顺子,也可以选择两张数字一样的牌作为一个对子,现要让对子和顺子的数量之和尽可能多,求最大数量 先排序 因为对子只消 ...

  7. 2017ACM/ICPC广西邀请赛-重现赛 1007.Duizi and Shunzi

    Problem Description Nike likes playing cards and makes a problem of it. Now give you n integers, ai( ...

  8. HDU 6183 2017广西邀请赛:Color it(线段树)

    题目太长了就直接放链接吧 http://acm.hdu.edu.cn/showproblem.php?pid=6183 题意: 一个空的坐标系,有④种操作:①1 x y c表示在(x, y)点染上颜色 ...

  9. HDU - 6183 Color it 2017广西邀请赛(线段树)

    题目链接 题意: 有四种操作 0操作 清空所有点 1操作 在(x,y)处插入一个带颜色的点 2 操作统计(1~x)(y1~y2)这个范围的不同的颜色数 3 结束 思路: 颜色数只有51个 我们可以建5 ...

  10. HDU 6184 2017广西邀请赛:Counting Stars(三元环)

    题意: n个点m条边的无向图,问有多少个A-structure 其中A-structure满足V=(A,B,C,D) && E=(AB,BC,CD,DA,AC) 可以看出A-struc ...

最新文章

  1. Latex 参考文献,或者最后一页平衡
  2. cuda测试caffe编译安装
  3. IDEA中每次拷贝一个项目的时候必须标记一下配置文件resources,否则报错
  4. 1.15 Java冒泡排序法
  5. 中国民办教育市场需求与运营策略建议报告2022版
  6. Tensorflow入门__实例:图计算
  7. Servlet学习笔记心得(二)
  8. How to use Chrome HAR save HTTP performance
  9. 醉了!吃着火锅哼着歌,男朋友强行给我科普什么是补码!
  10. Linux+ps进程解释,linux ps查看进程命令详解
  11. VUE+Element学习笔记之登录页面跳转首页
  12. flutter上分之路1-新手教学(配置安装)
  13. 数字翻译程序(PTA厦大慕课)
  14. [Python] 随机抽样
  15. 【电商】电商供应链产品介绍
  16. PowerMill 2020基础三四五轴编程到精通视频教程
  17. 成都java培训班要多少钱
  18. 160cracked-4
  19. ffmpeg4.4 学习笔记 -(2)读取视频文件并用SDL 显示
  20. 疯狂模渲大师|什么是室内设计?是免费设计吗?

热门文章

  1. redis简介与常用数据类型介绍
  2. Linux之常用操作命令总结二
  3. SpringBoot中接口跨域问题
  4. Redis与Redisson的分布式锁
  5. springboot整合sentinel
  6. 关于rnn神经网络的loss函数的一些思考
  7. Insert Node in Sorted Linked List
  8. 分析oracle索引空间使用情况,以及索引是否须要重建
  9. httpclient 无信任证书使用https
  10. js基础-(二)-类和面向对象