2013年2月26日
摘要: 最近看到一个很有意思的问题——2-sat问题,其基本定义就是说有n个布尔变量,给定m组变量之间的关系,每组最多只包含两个变量,求一种方案使得各个关系均满足。解法:如果去掉“每组最多只包含两个变量”的条件,那么它就成了NPC问题,但是2-sat却有着非常巧妙的多项式解——将n个布尔变量表示成2n个点,分别表示该变量为真或为假。将必须同时选的两个点之间连上一条边;这样在这个图的一个强连通分量内的点就是必须都选的,如果一个强连通分量包含了x与!x,那么这个2-sat显然是无解的,否则一定可以根据拓扑序来选定一些点使该2-sat成立。推荐两篇论文:华东师大一附中赵爽的《2-sat解法浅析》和《由对称性 阅读全文
posted @ 2013-02-26 11:50 stickjitb 阅读(247) 评论(2) 推荐(1) 编辑