序列上过于水的问题就放到树上
二分+哈希完美解决
我们需要求一个点的\(k\)级祖先,可以用长链剖分,维护一个点到根的正反哈希,判断\(lca\)的方位
求\(lca\)请用欧拉序,本题卡常
最大值最小问题,考虑二分
正序需要考虑减少到\(0\)的问题,我们考虑倒序处理
假设所有数初始为\(mid\),每天晚上会减少\(a[i]\),但是每天可以选择\(k\)个增加\(p\),问最后是否所有数字都大于\(h[i]\),且中途不能小于\(0\)
我们开一个堆记录每个数字第一次高度小于\(0\)的天数,然后模拟\(m\)天的过程,如果当前堆顶的天数小于当前枚举天数则无法实现