2sat
帐下幕僚
我只是一个普普通通的大学学生,我来到这里是想获得我在学校所不能得到的知识。
展开
-
poj2296 Map Labeler(2-sat+二分)
由于每个点要么在label的顶边或者在label的底边且在中间,并且有且只有一个在label上,所以就可以转化为2-sat问题。 建图如下: 不妨设 点yi<=yj。(i表示向下,!i表示向上) if(|xi-xj|>=d) continue; if(yj-yi>=2*d) continue; if(yj-ji>=d) i||!j else if(yj-ji>0) i&&!j e原创 2016-08-30 15:57:36 · 266 阅读 · 0 评论 -
poj3207 Ikki's Story IV - Panda's Trick(2-sat)
看了半天,看不懂题意。 题意 在一个圆上分布有n个点,现在要在这n个点之间连上m条边,每条边可以从圆内连接,也可以在圆外连接,每个点只能连接一条边,求是否存在连接方案能使得这m条边不相交。 看图容易懂题意。。。。。。 那么 对于两条线(这道题的节点可以认为是线,i<<1表示第i条线外连,i<<1|1表示第i条线内连。),矛盾的必要条件是(不妨设line[i].a< line[j].a原创 2016-08-22 16:03:19 · 312 阅读 · 0 评论 -
2-sat入门(例题hdu1814,poj3648)持续更新
2-sat问题描述2-sat问题是这样的:有n个布尔变量xi,另有m个需要满足的条件,每个条件的形式都是“xi为真/假或者xj为真/假”。比如“x1为真或者x2为假”。注意这里的“或”是指两个条件至少一个是正确的。由于在2-SAT问题中,最多只对两个元素进行限制,所以可能的限制关系共有11种: A[x] (1) NOT A[x] (2) A[x] AND A[y] A[x] AND NOT原创 2016-08-23 10:32:50 · 432 阅读 · 0 评论 -
poj3678Katu Puzzle(2sat入门)
这道题算是2sat建图入门题。 把6种逻辑表达式转化为有向图 2-sat就是合取范式 1.a&&b=1就相当于是a和b两个析取式的合取范式,而a又可以写成a||a。 2.a&&b=0 ==》 !a||!b=1 3 a||b=1 4 a||b=0 ==》 !a&&!b=1 同1 5 a^b=1 ==》(!a&&b)||(a&&!b)=1数理逻辑的知识可以推出原创 2016-08-25 11:51:48 · 246 阅读 · 0 评论