不难知道操作的顺序无关紧要,而且操作的边的深度越浅影响的叶子就越多,于是我们考虑从下往上地进行构造
设 f [ i ] f[i] f[i]表示以 i i i为根的子树的同步时间, g [ i ] g[i] g[i]表示达到这个时间的最下操作次数
对于当前节点 x x x,其有若干个儿子 v 1 , v 2 , . . . , v k v_1,v_2,...,v_k v1,v2,...,vk,那么有 f [ x ] = max i = 1 k ( f [ v i ] + l [ v i ] [ x ] ) , g [ x ] = ∑ i = 1 k g [ v i ] + f [ x ] − f [ v i ] − l [ v i ] [ x ] f[x]=\overset{k}{\underset{i=1}{\max}}(f[v_i]+l[v_i][x]),g[x]=\overset{k}{\underset{i=1}{\sum}}g[v_i]+f[x]-f[v_i]-l[v_i][x] f[x]=i=1maxk(f[vi]+l[vi][x]),g[x]=i=1∑kg[vi]+f[x]−f[vi]−l[vi][x],这个也比较显然