题解【CF1082G Petya and Graph】


传送门

$\texttt{Description}$

定义图权 $=$ 图中边权总和 $-$ 图中点权总和。求无向图最大权子图。

$1\le n,m\le 10^3$.

$\texttt{Solution}$

最大权子图模型,考虑用最小割来解决。

所以说一个初步思路是选择所有边,然后

  • 扣去一些边权(不选这个边)
  • 扣去一些点权(选择了相应的边,但根据题意要减去点权)。

然后考虑抽象成一个二分图模型。

把边放到左边,点放到右边,进行匹配。

令第 $i$ 条边的序号为 $i+n$。

我们对于图中的第 $j$ 条边 $(u,v,w)$,假设说选了这条边,那么 $u,v$ 也都要选。

在最小割中一般用 $\infty$ 表示必须选择的关系。

则建图方式为:

  • $s\to j+n$,流量为 $w$。
  • $j+n\to u$,流量为 $\infty$。
  • $j+n\to v$,流量为 $\infty$。
  • 对于 $\forall i\in [1,n]$,连 $i\to t$ 边权为 $a_i$。

注意 $a_i\le 10^9$ 需要开 $\texttt{long long}$,并且数组不要开小。

代码就不给了,建完图就是 $\texttt{dinic}$ 的板子了。

$\texttt{AC}$ 记录:$\texttt{Link}$。

$$\texttt{The End.by UF}$$