2-sat
心照不必宣
学生
展开
-
gym101617K/gym101615M Unsatisfying(2-sat)
gym101615题意:给你N个命题,M个条件,每个条件都是一个析取式,问你最少需要添加多少个析取式子能够使得全部条件无法同时成立,你能添加的式子都不带‘非’运算符。题目分析:将每个命题本身和他的非建一个2N个点的图,那么每个条件都能建立以下边:按照以上方式建图之后,要使得无法全部条件全部成立,就说明存在一对点A和-A,互相可达。我们能加的边只有第一种(AV ...原创 2019-04-12 17:43:48 · 305 阅读 · 0 评论 -
Codeforces Gym101190B. Binary Code(2-SAT前缀优化建图)
N个命题至多成立一个的建图建立n个前缀命题i,pre[i]表示前i个命题存在一个成立link(u,v)表示加边 u>v 和 ~v > ~u则只需要像这样建边即可:for(int i = 0; i < n; i++) { if(i) { link(pre[i - 1], pre[i]); link(i, pre[i - ...原创 2019-09-26 13:25:04 · 574 阅读 · 0 评论