2-SAT 学习笔记
来源:互联网 发布:淘宝虎头鞋子 编辑:程序博客网 时间:2024/05/23 16:39
今天学习了2-SAT算法
简单说一下对个算法的理解
首先它要解决的问题是:(以我个人理解)有n个物品,拿或不拿,两个状态;有m个条件,每个条件都限制怎么个拿法,比如,如果那物品1,那么一定不能拿物品3,或者要1必须拿3;2-SAT算法给出怎么拿,以及是否有解
接下来是算法本省内容:
建图:
其实算法本质,就是找到必要条件,比如说,x1||x2, 那么也就是说,要想这条件成立的话,当x1为否定的时候,x2一定位肯定,当x2为否定,x1比为肯;因此,建立有向图,将每个变量拆为两个点,2i表示真,2i+1表示否,对于上述例子来说,就可以得到两条边,x1的否定点指向x2肯定点,另外的是x2否定点指向x1的否定点。因此,每个条件应对两条边
搜索:
对第i个变量来说,假设2i为真,那么将2i以及它所能到达的边均标记为真,如果在这个过程中,发现某个变量的两个点都被标记,说明2i为真是不对的(因为一个变量只能是真或者假,不能同时为真和假),把刚才设为真的点改为假,然后将2i+1设为真,如果还是矛盾,说明无解
- 2-SAT 学习笔记
- 2-SAT学习笔记
- [学习笔记]2-SAT
- 2-SAT学习笔记
- |算法讨论|2-SAT 学习笔记
- 2-SAT学习资料
- 2-SAT学习总结
- 2-SAT学习小记
- 2-SAT阶段性学习小记
- 2-SAT(心累时学习的算法)
- 2-sat
- 【2-SAT】
- 2-SAT
- 2 - sat
- 2-SAT
- 2-SAT
- 2-Sat
- 2-SAT
- WindowsAPI笔记(二)---动手写第一个Windows程序
- demo05——返回字符串第一个数字
- 单个生产者和单个消费者模型(spsc)
- 2013-2-12 - loader代码调试心得记录。
- 回调函数透彻理解Java
- 2-SAT 学习笔记
- OOD面试题
- Struts2的OGNL遍历数组、List、简单的Map
- TCP连接终止协议
- HDU2065
- __stdcall 与 __cdecl 区别
- La3211 Now or Later(2-SAT判定+二分法)
- read of mingw: unknown error
- Android百度地图——根据城市名,地址名获取GPS纬度、经度值