版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
正题
这题做法好妙啊,首先考虑二叉树的时候,中序遍历一下,公共祖先肯定在里面,而且比lca深度更小的祖先肯定不在里面。
然后考虑一棵多叉树,在遍历两个儿子之间在序列中插入一个自己,在开始遍历和结束插入一下自己(其实这里不必要)。
现在的任务就是找到一组点,使得,且。
因为边权都是正数,所以如果选定了,中间选的肯定就是M,因为在L,R之间,M深度肯定是最小的。
那么每次就是区间修改深度了,维护可以直接做。在这里不多说。