题意
直线上有(n)个植物,第(i)棵植物坐标为(i),浇一次水会长(a_i)高。
你最开始在(0)点,执行(m)次操作。每次操作必须往左或右走一步并给走到的那棵植物(如果有)浇一次水。
最大化(m)次操作后最矮的植物的高度。
做法
二分答案,题目转化成,每个位置要至少经过几次,然后求最小次数。
考虑答案至少为(1)的情况:
结论1:存在合法解最终停留在(n)或(n-1)。
证明:
由于答案至少为(1),所以一定到过(n)。
如果最后在(i)((i< n-1)),那么一定存在(ilongrightarrow i+1longrightarrow i+2longrightarrow i+1longrightarrow i)。
可以换成(ilongrightarrow i+1longrightarrow ilongrightarrow i+1longrightarrow i+2),反复通过调整法即可。
结论2:存在,最终停留在(n)或(n-1),且方案为(1,2,1,2,ldots,2,3,2ldots,n-1,n,n-1)。
证明:
解形成了一个欧拉路,中间可以调换,容易证明。
那么可以通过贪心得到次数。