专栏文章
2-SAT
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipex8w8
- 此快照首次捕获于
- 2025/12/03 10:53 3 个月前
- 此快照最后确认于
- 2025/12/03 10:53 3 个月前
2-SAT
定义
- 搞出 个集合,每个集合2个元素
- 若干个表示矛盾(属于不同集合)
- 然后从每个集合选择一个元素,一共选个两两不矛盾的元素
- 有多钟方案
布尔可满足性
- 给定一条真值表达式,包括逻辑变量,逻辑与,或,非
- 是否存在一组对这些变量的赋值,使整条式子结果为 ?
- 如果可以,就是这条公式的布尔可满足性。
流程
- 通过连边建图(理解上的难点)
- 求图的极大强联通子图()
- 把每个子图收缩成单个节点,根据原图关系构造一个有向无环图
- 判断是否有解,无解就输出(二分)
- 对新图拓补排序
- 自低向上选择,删除
- 输出
建图
-
利用有向边 表示选了,必须选
-
表示某个点是,那么表示某个点是
-
因为限制了关系,所以可以逻辑建边
- 如果给出限制关系,必须一起选,那么选a必选b,建边 还有
- 如果给出限制关系,不能一起选,那么,建边
- 如果必须选a,那么,建边
- 如果a一定不选,那么 ,建边
-
这样,出现有向图
-
如果能找到一个强联通分量,那么这个强联通分量中的点,若选取必须全部选取,不选取一定全不选取。
-
只要满足这个有向图中联通的点不会导致同时被选取,如果不存在矛盾,那么当前问题就是有解的。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...