卡图难题

我们先不要管两个数按位与为\(1\)和两个数按位或为\(0\)的情况

那么剩下的情况就是很简单的2-SAT问题

就像并查集处理二元关系一样,这里最后建成的图一定是完全对称的,如下

其中每个点都是一个SCC

然后我们再来看剩下的两种情况,拿两个数按位与为\(1\)为例

这就说明两个数必须要都是\(1\),反映在图上就是两个数为\(1\)的那个域所在的SCC都必须选,两个数为\(0\)的那个域所在的SCC都不能选

于是我们像蓝书这样连边的话,就可以处理上面的情况了,因为如果没矛盾的话,蓝书的连边方法只会是横跨两个部的有向边(而且一定是水平的,因为镜像对称),于是这种有向边是不可能与其他横跨两个部的有向边一起形成环的,也就是说这种有向边形成环当且仅当有一条边的两端与其相同且方向与其相反,这就是对应了一个值有两种取值方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值