spoj 839-Optimal Marks

Description

SPOJ.com - Problem OPTM

Solution

容易发现各个位之间互不影响, 因此分开考虑每一位.

考虑题中是怎样的一个限制:

  1. 对每个点确定一个0/1的权值;
  2. 对于有连边且权值不同的点, 对答案有1的贡献;
  3. 求最小权值.

发现这就是对所有点的一个划分. 想到最小割. 其中从 (S) 集合连到 (T) 集合的边, 即为割边, 对答案的贡献为1. 其他边为0.

对于已有标号0的点, 连边 ((s,p,+infty)); 已有标号1的点, 连边 ((p,t,+infty));
对于原图中有的边 ((u, v)), 连边 ((u, v, 1)), ((v, u, 1)).

那么最小割即为这一位的答案.

考虑输出方案. 从前面的分析容易看出, 与 (s) 联通的点这一位权值为1, 其余点为0.

代码先咕了...

原文地址:https://www.cnblogs.com/ubospica/p/10533452.html