写在前面 由于菜,写树状数组写挂了. 于是想出了一种不像线段树或树状数组+二分答案那样显然,但是依旧不难想,复杂度比较优秀,代码难度低的做法. 算法思路 外部二分答案,不多解释,稍证明一下单调性: 若把每一次浇水都浇到当前最低的花上,浇水次数越多,花的高度最小值不会变小,满足单调性. 考虑到在某个点被浇的次数只与上一盆水是否为之前某次浇水的终点和这点是否需要继续浇水,以及需要继续浇多少次有关. 那么存一个变量统计当前这个点目前已经被浇了多少次水,设这个变量为 \(x\). 每当需要浇一次水的时候…