A 考虑容斥。如果把每对不合法的相邻的 au,ava_u,a_vau,av 连起来的话,发现是若干个连通块。 那么设 f(x,i)f(x,i)f(x,i) 表示 xxx 子树内,xxx 所在联通块 bib_ibi 最小值为 iii 。(这样的话,这个连通块有 iii 种取值可以连起来)。 转移考虑子树合并。 不把儿子 yyy 并上来,有 f′(x,i)=f(x,i)×∑j×f(y,j)f'(x,i)=f(x,i)\times \sum j\times f(y,j)f′(x,i)=f(x,i)×∑j×f(y,j) 把儿子 yyy 并上来 儿子 yyy 所在连通块最小值大于 xxx 所在...