D(树上倍增) 题意: 刚开始有一个点1,权值为0. 接下来有q个操作,每个操作有两种: 1 R W:新加一个点,这个点的权值为W,这个点的父亲是R 2 R X:在从点R到1的路径上,取出从R开始的不降单调栈,问从栈底到栈顶这么多元素,最多能取出多少个点,使得这些点的点权和<=X 强制在线 q<=400000 分析: 虽然这个树的形态不是固定的,但仍旧可以倍增,因为每次加的都是叶子节点,对上面的形态是不改变的 我们可以先倍增求出每个点的最上方的不必它点权小的点fa 然后根据这个fa信息组成一个…