2-sat——输出方案poj3683

一篇讲的详细的博客 https://blog.csdn.net/Hawo11/article/details/74908233

缩点后为什么要建立反图?

如果是按原图处理,选择一个点之后要把所有其后续点也选上,但是如果染色过程中失败,则这次染色的影响要被清空,并选上对立点

这样的复杂度会和暴力dfs相同(原因是拓扑序在前面的传递选择标记对图的影响太大,而不选择标记又不能在正向边中传递)

 

若建立反图,选了一个点就没有必要将其后续点选上了

 

其实因为sat图是对称的,所以建立的反图等价于原图中在对立点上进行染色

 poj3683 也是看着题解一点点写的。。https://blog.csdn.net/l04205613/article/details/6670334

 

posted on 2019-05-17 10:23  zsben  阅读(351)  评论(0编辑  收藏  举报

导航