题意不说了,我的解法,将所有的牛的高度都置成H,那么当然询问一个[f,t]的时候,先看看 f 和 t 的高度是否符合,不符合的cut成符合的,即和t一样高。然后查看[f+1,t-1]区间里的最高的高度tem是多少,如果tem比f的高度要高的话,将整个[f+1,t-1]区间的高度都cut掉((tem-f的高度)+1).对线段树使用懒操作,这里一开始出现了错误,哎,maxt函数写错了。还是不太熟悉线段树,接着刷题
记住,如果对一个区间操作,那么肯定需要考虑 3个情况,进入3种不同的分支。切忌,也许你不懂的,哈哈