[SPOJ839]最优符号

Posted kgxw0430

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[SPOJ839]最优符号相关的知识,希望对你有一定的参考价值。

题目描述

技术图片

  • 有点懵……这和最小割有关系?而且这题暴力也不好写吧……总不能一个一个枚举权值吧。
  • 考虑如果点的权值只有1和0的情况。如果一个点到另一个点之间有一条路径,并且它们已经确定一个为1,一个为0,那么这条路径上的点你不管如何赋值,都至少会产生1的代价。那么我们想要达到最小值,应该是考虑如何选择,所有从权值为1的节点到权值为0的节点路径上的点的权值,让每条路径产生的代价尽可能小。
  • 一条路径为了尽量只产生1的代价,那么它一定是前一段的点权值为1,后一段点权为0。如果两条路径交叉,有这样几种情况:
  • 1、
    技术图片
    这种情况,两条边只会产生1的代价。
  • 2、
    技术图片
    这种情况会产生2的代价。
  • 注意,多条边的交叉情况也是基于这两种的。发现它具有网络流的性质吧?所以考虑它怎么和网络流联系在一起。把初始点权为1的看做S集合,点权为0的看做T集合。我们其实要做的就是处理完S到T的所有边,使代价最小。把代价当做割开一条路径的花费,所求问题即为割最少的边使得S到T不连通。
  • 建立源点s,连向S内所有点一条容量为inf的边。建立汇点t,T内所有点连向t一条容量为inf的边。原图中的边正常连,不过容量为1,。跑最小割即为答案。
  • 到此,我们解决了点权只有0和1的情况。那么点权<=1e9该怎么办呢?
  • 哎,二进制拆分啊,跑log次最小割不好了。妙哉妙哉~
  • 因为SPOJ没注册上,代码后续再补……(咕咕)

以上是关于[SPOJ839]最优符号的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ-2400Spoj839Optimal Marks 最小割 + DFS

spoj 839-Optimal Marks

spoj 839 OPTM - Optimal Marks&&bzoj 2440最小割

SPOJ839 Optimal Marks(最小割)

SPOJ839 OPTM - Optimal Marks

bzoj2400 Spoj 839 Optimal Marks