zoj4062
Posted Grice
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zoj4062相关的知识,希望对你有一定的参考价值。
题意
直线上有\\(n\\)个植物,第\\(i\\)棵植物坐标为\\(i\\),浇一次水会长\\(a_i\\)高。
你最开始在\\(0\\)点,执行\\(m\\)次操作。每次操作必须往左或右走一步并给走到的那棵植物(如果有)浇一次水。
最大化\\(m\\)次操作后最矮的植物的高度。
做法
二分答案,题目转化成,每个位置要至少经过几次,然后求最小次数。
考虑答案至少为\\(1\\)的情况:
结论1:存在合法解最终停留在\\(n\\)或\\(n-1\\)。
证明:
由于答案至少为\\(1\\),所以一定到过\\(n\\)。
如果最后在\\(i\\)(\\(i< n-1\\)),那么一定存在\\(i\\longrightarrow i+1\\longrightarrow i+2\\longrightarrow i+1\\longrightarrow i\\)。
可以换成\\(i\\longrightarrow i+1\\longrightarrow i\\longrightarrow i+1\\longrightarrow i+2\\),反复通过调整法即可。
结论2:存在,最终停留在\\(n\\)或\\(n-1\\),且方案为\\(1,2,1,2,\\ldots,2,3,2\\ldots,n-1,n,n-1\\)。
证明:
解形成了一个欧拉路,中间可以调换,容易证明。
那么可以通过贪心得到次数。
以上是关于zoj4062的主要内容,如果未能解决你的问题,请参考以下文章
2018 青岛ICPC区域赛E ZOJ 4062 Plants vs. Zombie(二分答案)
ZOJ 4062 Plants vs. Zombies(二分答案)
zoj4062 Plants vs. Zombies 二分+模拟(贪心的思维)
ZOJ 4062 - Plants vs. Zombies - [二分+贪心][2018 ACM-ICPC Asia Qingdao Regional Problem E]