2-SAT

2-SAT算法用于求出满足一系列形如“若选x,则必(不)选y”的限制条件的解。将每个元素拆为x1与x2两个点,表示选与不选。用有向边来表示“推出”,这样每个限制条件对应连两条边。建完图后跑一遍Tarjan。此时若x1与x2在同一个强连通分量中,则问题无解(矛盾)。否则选择强连通分量编号较小的点作为最终方案。可以证明这样选择是正确的。

posted @ 2018-09-15 21:55  Utoрia  阅读(385)  评论(0编辑  收藏  举报