最小割 topcoder 558 hard

此类最小割问题做法都是先考虑保留一条收益边,然后看要割掉哪些边

首先黑白染色变成二分图

本题中如果保留了\(benefit_{ij}\)要么割掉\(cost_{ij}\)或者是相邻的所有的\(cost\)

考虑建图 拆点\(X1->X2\)表示\(benefit\)

\(S->X1\)或者\(X2->T\)表示\(cost_{ij}\)

如果两个点相邻只需要\(X1->Y1\)\(X2->Y2\)\(\infty\)的边

由于一个点的\(benefit\)\(cost\)边相连

若保留\(benefit\)刚好符合

本题中如果保留了\(benefit_{ij}\)要么割掉\(cost_{ij}\)或者是相邻的所有的\(cost\)

感觉很强啊

还有一道bzoj 文理分科

拆点然后连收益边

然后对于文科限制

新建点向\(S\)和理科连边\(\infty\)

考虑如果有一个点把文科的边割了

那么这条边也会被割

最小割都不会做怎么办办啊

猜你喜欢

转载自www.cnblogs.com/foreverpiano/p/9258059.html