考试的一道题,因为某些原因sb了常数翻了好几倍/px 首先我们发现,一个水池的水只会向它下边第一个直径比它大的水池流. 我们把这些流动的关系连边,很容易发现是一棵树. 问水最后会到哪个水池相当于在问最老的一个祖先,使得自己到祖先上的点权之和不大于给定的数.然后容易发现是树上倍增. 然后,其实找右边第一个比自己大的数可以用单调栈 \(O(n)\),然而我用了 \(O(n\log n)\) 的倍增+ST表... 其次,可以直接倍增,然后我建了树... 附上考场上的代码: #include<cstdi…