\(T1\):http://www.zhengruioi.com/contest/355/problem/878
sol:一眼就是个网络流题网络流做题太少,我看不出来
两棵树分开建,\(S\)向\(rt1,rt2\)分别连边,容量为\(\infty\)
然后从父亲向儿子连边,容量为\(a_i\)或者是\(\infty\),
对于每个点\(x\)都连向额外建立的一个虚点,同时另外一个树的点\(x\)也连向这个虚点
虚点连边到\(T\),容量为\(1\),费用为\(c_i\)。
跑最大费用最大流即可。
两棵树建在一起是错的.....因为会混流,然后限制就会乱。
\(T2\):http://www.zhengruioi.com/contest/355/problem/879
sol:
\(MST\)的点权和\(\geq\) 边权和是充分条件。但是为什么我证不出充分啊....
在我看了swk姐姐的blog以后才学会,果然还是菜。
传送门:https://www.luogu.org/blog/suwakow/#
假设现在\(\sum a_i \geq \sum w_i\),现在按照最优解合并但是受阻。
因为左右两个连通块合并后剩余贡献一定\(\geq 0\),所以当前一定不会受阻,因此最优解不会受阻。
其实这题就全看这个充分条件了......
先求出\(MST\)
因为题意是连通块共用点权-边权,所以对于一个合法的树\(x\)至少有一个子树在和当前根\(x\)连接以后是合法的,
然后把贡献传到这个连通块上,对于一个以\(x\)为根的子树反复做这个过程。
所以我们可以忽略根节点直接按照子树点权和-边权和排序做然后继续\(dfs\)就好。
原文:https://www.cnblogs.com/cjc030205/p/11638088.html