【图论】2-SAT问题 更新于 2023-04-07 分类于 ACM , 图论 阅读次数: 本文字数: 403 阅读时长 ≈ 1 分钟 2-SAT问题 定义 每句话包含两个条件,真/假,用或连接 许多话以且连接 求一组真假赋值使其符合所有要求 分析 每个原子拆成真/假两个点(离散数学的方法,真值表也可推): 原式 建图 ¬a∨b\neg a\vee b¬a∨b a→b∧¬b→¬aa\rightarrow b\wedge\neg b\rightarrow\neg aa→b∧¬b→¬a a∨ba \vee ba∨b ¬a→b∧¬b→a\neg a\rightarrow b\wedge\neg b\rightarrow a¬a→b∧¬b→a ¬a∨¬b\neg a\vee\neg b¬a∨¬b a→¬b∧b→¬aa\rightarrow\neg b\wedge b\rightarrow\neg aa→¬b∧b→¬a 同一强连通分量中的点取值相同,对于一个原子的真假点,取拓扑序在后的。 如果真假点在一个强连通分量中就没有符合条件的数据。 可以直接利用tarjan缩点出来的scc数组,本身就是拓扑逆序。