2-sat学习笔记

前后缀建图
例:要求n个变量满足至多有1个为true。
暴力:一个点的true向其它n-1个点的false连边,复杂度O(n^2)。
正解:prei表示前i个点是否有真。
prei的true向prei+1的true连边,prei+1的false向prei的false连边。
prei向i+1的false连边,i+1的true向prei的false连边。
i的true向prei的true连边,prei的false向i的false连边。
然后2-sat即可。

解决多元限制的方法通常是找性质+暴力枚举
例:1545866-20190127204838672-783206417.png
sol:手玩一下每个点的方程可以发现一些性质。
1545866-20190127204922612-136721018.png
即每个点都可以用A(1,1)和第一行,第一列的各一个变量以及B矩阵来表示。
枚举A(1,1)后就可以2-sat了。

转载于:https://www.cnblogs.com/Creed-qwq/p/10327926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值