$n$个结点的树,给每条边分配$[0,n-2]$的权值。$n\leq 3000$
求$MAX(\sum_{i<j} {mex(i,j)})$。
$mex$指最小的未出现的非负整数。如$mex(1,0,3,4)=2$
考虑如何计算$mex$,如果某个权值$x$的路径独立与$x-1$,$mex\leq x-1$,捆绑在一起就是$mex\leq x-2, mex >x$。
考虑吧$[0,x]$捆绑在一起$mex\geq x+1$
贪心的去想把所有数字放在一条链上,这样尽可能都满足$mex\geq x+1$
考虑一条链
考虑这是一棵树,可以处理每个结点$i$相对与$j$的子树大小和父亲。
树上记忆化$dp$每一条链即可。
代码
1 |
|