暂无。
暂无。
来源:luoguP3296
tag:树hash,费用流转移dp
概述:
给定一颗树和两套01权值,现在可以花费1的代价修改某点的权值,问最小修改几次可以使得第一套权值和第二套权值的树同构。
答案:
先找到重心,以重心为根对树进行hash,如果有两个重心那就增加一个重心连接两个重心再进行树hash。
我们设状态$F_{i,j}$代表第一套权值的$i$子树与第二套权值的$j$子树同构的最小代价。具体转移要使用一个二分图完备匹配的费用流,对$i,j$这两棵树的所有子树,hash值相同并且树高相同的连接一条边,我们假设这两个点是$u,v$,这条边的流量为1,费用为$F_{u,v}$,然后依次转移即可。
comments:费用流转移dp的另一道题目。