CF1082G Petya and Graph 题解

传送门

知识点:最大权闭合图模型

题目的翻译便是这个模型的适用条件。

  • 此模型建图方式:
  1. 首先建立超级源点 \(s\),和超级汇点 \(t\),并新建 \(m\) 个点 \(p_i,i \in [1,m]\) 使一一对应每一条边,将原来的 \(n\) 个点的编号初始化为 \(p_i,i \in[m+1,n+m]\)

  2. 再将原来的第 \(i\) 条边 \(E_i(u,v)=w\) 在我们建的图上处理为 \(s\longrightarrow i\),且边权处理为 \(E(s,i)=w\),再将 \(i\longrightarrow u+m,i\longrightarrow v+m\) 分别连一条边。

  3. 最后将每一个点 \(p_i,i\in [m+1,m+n]\) 向汇点连边权为该点点权的有向边,即 $ p_i ,i \in [m,m+n] \longrightarrow t$,且 \(E(p_i,t)=V_{p_i}\)

这样建图之后答案即为点权之和 \(-\) 新建图的最小割

  • 证明:

我们可以将这个模型转化为一个情景:有 \(m\) 个人,\(n\) 种使用需要付费的工具的花费分别为 \(V_{n_i}\)。这 \(m\) 个人每个人做任务,完成后分别会得到 \(w_{m_i}\) 的盈利,但会使用 \(k_{m_i}\) 种工具。一个工具被多次使用时只需收费一次,请你安排一些人去做任务使的总获利最大。

如果我们选择了 \(p\) 个人让他们不做任务,那么则需要付剩下的 \(m-p\) 个人所需的全部工具的费用。转化到图上,即是构成了这张图的一个割,这个可以画图自证。那么此时的利润即为 \(m-p\) 个人的利润 \(-\)\(m-p\) 个人工具费用 \(=\sum w-p\) 个不工作的人的利润 \(-\)\((m-p)\) 个人工具费用 \(=\sum w-\) 这张图的割

为了利润更大,则减去最小割即可。

证毕。

posted @ 2023-06-06 18:29  Pwtking  阅读(23)  评论(0)    收藏  举报