思路讲解
题意已经描述得很清楚了,就不用再说了。
将 1 1 1 号节点(当然其它节点也行)设为树的根节点,则不难发现,总共有两种扩张的方式,
- 向子节点扩张
- 向父节点扩张
设 f i f_i fi 为从节点 i i i 开始燃烧,最多可以燃烧多少个节点。将这两种扩张方式依次解决即可。
首先,解决向子节点扩张的问题,即统计从节点 i i i 开始,向它的子节点扩张,最多能燃烧多少个节点。
设节点 i i i 的若干个子节点为 b i , j b_{i,j} bi,j,因为被燃烧的节点只会向权值严格小于自己权值的节点扩散,所以 f i f_i fi 就等于所有权值严格小于自己权值的节点 x x x 的 f x f_x fx 之和再加上 1 1 1。
即 f i = ( ∑ a b i , j < a i f b i , j ) + 1 f_i=(\sum\limits_{a_{b_{i,j}}<a_{i}}^{}f_{b_{i,j}})+1 fi=(