HDU4366 Successor 题意: 给出一棵根为\(1\)的树,每个点有两个权值\(x,y\),每次询问一个点的子树中\(x\)比这个点的\(x\)大且\(y\)值最大的那个点 题解: 如果以dfs序来看的话,每个点的子树可以看作是dfs序的一段区间 然后我们对这个序列分块,每个块内按\(x\)排序,然后维护后缀\(y\)的最大值 每次查询的时候对于一个块,可以先二分出来符合条件的\(x\)最小的那个位置,然后找后缀\(y\)最大的那个点 如果要单点修改的话,每次对一个块暴力修改也是没有…