描述

经过多年的杀戮,秦皇终于统一了中国。为了抵御外来的侵略,他准备在国土边境安置 n 名将军。

不幸的是这 n 名将军羽翼渐丰,开始展露他们的狼子野心了。他们拒绝述职、拒绝接受皇帝的圣旨。秦皇已经准备好了秘密处决这些无礼的边防大将。不过为 防兵变,他决定先授予这些将军一些勋章,为自己赢得战略时间。

将军们听说他们即将被授予勋章都很开心,他们纷纷上书表示感谢。第i个将军要求得到ai枚不同颜色的勋章。但是这些将军都很傲气,如果两个相邻的将 军拥有颜色相同的勋章他们就会认为皇帝不尊重他们,会立即造反(编号为i的将军和编号为i+1 的将军相邻;因为他们驻扎的边境可以类似看成一个圆形,所 以编号 1 和编号n的将军也相邻)。

皇帝不得不满足每个将军的要求,但对他们的飞扬跋扈感到很气愤。于是皇帝决定铸造尽量少种类的勋章来满足这些狂妄者的要求。请问他至少要铸造多少 种颜色的勋章?

输入

输入文件第一行有一个整数 n(1<=n<=20000)。 接下来 n 行每行一个整数 ai,表示第 i 个将军要求得到多少种勋章。 1<=ai<=100000)

输出

输出一个整数,即最少需要多少种勋章。

样例输入[复制]

4
2
2
1
1

样例输出[复制]

4

标签

zjoi2006
这道题真的是神奇,惊呆了
如果n是偶数,显然直接贪心过去,相邻之间取最大值输出,这样可以得到60分(orz)
如果是奇数,那么就会出锅,因为最后相邻的两个人的勋章如果用之前的肯定是会出问题的
按照洛谷的题解,实质上就是每种勋章不能发给超过n/2个将军,然后直接除下就是答案了orz,但还是要跟贪心比一下取最大
神奇啊啊啊啊啊啊啊啊
这道题意义在于横向思考每个勋章,贪心实际上是一种纵向思考,考虑每个将军拥有的勋章个数,而这个是从每一枚勋章开始考虑,毕竟每个都是独一无二的(逃
code:
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 int a[20005];
 6 int main(){
 7     int n;
 8     cin>>n;
 9     int max0=0,min0=99999999;
10     int sum=0;
11     for(int i=1;i<=n;i++){
12         cin>>a[i];
13         sum+=a[i];
14         min0=min(min0,a[i]);
15         if(i>1)max0=max(max0,a[i]+a[i-1]);
16     }
17     max0=max(max0,a[n]+a[1]);
18     if(n%2==0)
19     cout<<max0;
20     else{
21         double t=sum;
22         t=ceil(t*1.0/((n/2)*1.0));
23         cout<<max(max0,(int)t);
24     }
25     return 0;
26 }

转载于:https://www.cnblogs.com/saionjisekai/p/9681917.html

ZJOI2008皇帝的烦恼相关推荐

  1. BZOJ1863 [ZJOI2006]trouble 皇帝的烦恼 [思维题,二分答案,动态规划]

    皇 帝 的 烦 恼 皇帝的烦恼 皇帝的烦恼 题目描述见链接 . 正 解 部 分 \color{red}{正解部分} 正解部分 当是一条链时, 答案显然为 max ⁡ ( A [ i − 1 ] + A ...

  2. 洛谷 P4409 [ZJOI2006] 皇帝的烦恼

    题目链接-> OVO 题解: 很久没有写博客了,可能是因为最近太颓废了吧. 刚刚考完期末考试,无比期盼早点外出学习,不要面对成绩,害怕. #include <cstdio> #inc ...

  3. bzoj 1863 [Zjoi2006]trouble 皇帝的烦恼

    题面 题意 现在要造k种东西分给围成一个圈的人,每个人要a[i]个,要求相邻的两人分到的东西的种类完全不同,求k最小值. 做法 如果是链则答案为相邻两数和的最大值,但因为是环,所以最后一人对第一个人有 ...

  4. P4409 [ZJOI2006]皇帝的烦恼(20190922B)(乱搞)

    考场历程十分艰辛啊... 第一题没切掉,还浪费了很长时间,就是一个裸的最小生成树,但是因为可恶的distance为关键字莫名其妙查错了10min.... 本题先乱搞了一下,过了样例 然后看第三题,可写 ...

  5. LA3177 - Beijing Guards(二分+贪心【更优美的解法)

    简介:同皇帝的烦恼 分析: 如果n是偶数,那么答案就是相邻两个人的r值之和的最大值 即ans=max{r(i)+r(i+1)} (i=1,2,3,-,n),规定r(n+1)=r1 这时的ans实际上是 ...

  6. 从“图”上看一场火山爆发后的连锁关联,竟对人类近现代历史进程产生如此之大的影响

    "最初,没有人在意这场灾难,这不过是一场火山,一次海啸,一个物种的灭绝,一座城市的消失. 一.汤加"爆"发 很多人对于汤加的印象,可能还停留在奥运会上涂抹的光亮油滑的旗手 ...

  7. python实时绘制动态曲线_pyqt中使用matplotlib绘制动态曲线

    一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...

  8. 皇帝踏入31 克城冠军梦 时不我待

    詹姆斯第25次登上体育画报封面 这个故事将会在2015年12月7号发行的体育画报上 原文标题:LeBron's Time: Cavaliers star feeling the urgency to  ...

  9. bzoj 1040: [ZJOI2008]骑士 树形dp

    题目链接 1040: [ZJOI2008]骑士 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3054  Solved: 1162 [Submit] ...

最新文章

  1. 全局曝光和卷帘曝光的区别
  2. (转载)委托与函数指针辨析
  3. cnn输入层_一文掌握CNN卷积神经网络
  4. linux登录后出现_bash-4.1#终端提示符异常
  5. LHF Objective-C语法(7)id类型、动态判断与选择器
  6. SAP License:MIRO
  7. 宿松的小孤山在安徽省内有名吗?
  8. Source Insight 快捷键大全
  9. 复杂网络学习的一些常用数据集
  10. 电容的耐压值选择---陶瓷电容、钽电容、电解电容
  11. 民国歌曲 - 毛毛雨
  12. Blender学习入门(二)-通用模型技术总结
  13. 计算机科学成为独立学科的奠基人,详解卡内基梅隆大学计算机学院
  14. 51jiqiren小语种语音机器人
  15. pon终端测试仪_PON产品测试方案
  16. 美化 PowerShell
  17. Degis 是第一个基于 Avalanche 的保险协议,测试得空投
  18. stol函数在linux下使用,C++ std::stol()、std::stoll()用法及代码示例
  19. vue 给圆遮盖物添加文字 高德地图_【高德地图开发4】---增加覆盖物setMapTextZIndex...
  20. 探寻HTTPS中S的含义

热门文章

  1. favicon图标制作
  2. CSS基础「六」元素的显示与隐藏
  3. 排序数字英文字母交错,由小到大
  4. mx250是什么_来看看联想小新Pro13 2020款和2019款哪个好?区别是什么?
  5. java会编译失败吗?_Java为什么会有“无法到达的语句”编译器错误?
  6. vue弹层时禁止页面滚动
  7. Cocos2d-X 2.2嵌入MFC的子窗口
  8. python学习 day1 (3月1日)
  9. python中import问题
  10. 【Python】学习笔记之列表生成式