首页 > 其他分享 >2-sat

2-sat

时间:2023-10-01 16:44:21浏览次数:28  
标签:连通 那么 xor ins sat 分量

萌新刚学 2-sat,写个题解练练手。


首先的话,我个人理解的 2-sat 就是对于每个数只有 \(2\) 种取值的问题。

这里我以 卡图难题 这题为例。

显然位运算的题,就是一个经典的 2-sat 的题,因为对于每个数都只有 \(0\) 和 \(1\) 两种选择。

那么我们将每个点 \(a_i\) 拆成 \(a_i\) 和 \(a_i+n\) 两个点,分别表示 \(a_i\) 的值为 \(0\) 和 \(a_i\) 的值为 \(1\)。

然后就是对于每种关系建边。

  • \(a and b=0\),那么 \(a=0,b=0\) 或 \(a=1,b=0\) 或 \(a=0,b=1\),即 \(ins(a,b),ins(a+n,b),ins(a,b+n)\)。
  • \(a and b=1\),那么 \(a=1,b=1\),即 \(ins(a+n,b+n)\)。
  • \(a or b=0\),那么 \(a=0,b=0\),即 \(ins(a,b)\)。
  • \(a or b=1\),那么 \(a=1,b=0\) 或 \(a=0,b=1\),即 \(ins(a+n,b),ins(a,b+n)\)。
  • \(a xor b=0\),那么 \(a=0,b=0\) 或 \(a=1,b=1\),即 \(ins(a,b),ins(a+n,b+n\)。
  • \(a xor b=1\),那么 \(a=1,b=0\) 或 \(a=0,b=1\),即 \(ins(a+n,b),ins(a,b+n)\)。

然后的话看有没有矛盾,即在图上跑一边 Tarjan,找出强连通分量,然后看有没有 \(a_i\) 和 \(a_i+n\) 同时在同一个强连通分量里面。

因为如果 \(a_i\) 和 \(a_i+n\) 同时在一个强连通分量中的话,那么 \(a_i\) 和 \(a_i+n\) 之间就可以互相到达,即 \(a_i\) 同时为 \(0\) 和 \(1\),因此矛盾。

标签:连通,那么,xor,ins,sat,分量
From: https://www.cnblogs.com/reclusive2007/p/17738977.html

相关文章

  • ERROR: Could not find a version that satisfies the requirement selunium (from ve
    错误信息ERROR:Couldnotfindaversionthatsatisfiestherequirementselenium(fromversions:none)ERROR:Nomatchingdistributionfoundforselenium解决方案方法1:增大超时时间pip--default-timeout=100installselenium方法2:修改安装源为清华安装源pipi......
  • 有人说SaToken吃相难看,你怎么看。
    前言今天摸鱼逛知乎,偶然看到了一个回答,8月份的,是关于SaToken的,一时好奇就点了进去。好家伙,因为一个star的问题,提问的人抱怨了许多,我有些意外,就仔细看了下面的评论,想知道一部分人的看法。案发现场大体上,分为两派。一派是对于强制star尤为反感,乃至因爱生恨(打个问号)?......
  • two-sat模板
    P4782【模板】2-SAT问题就是给关系进行连边,然后判断是否存在矛盾输出方案的时候,就是在拓扑图上沿着反边走,但实际上tarjan求强连通分量已经排好序了编号小的scc就是在拓扑序中排在后面的强连通分量#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#......
  • 【ERROR: Could not find a version that satisfies】【ERROR: No matching distribut
    pip包安装出错真是把我烦死了,在yt上学东西,结果一直出这样的错,之前我都是把包下载到本地安装的,这也不是长久之计。然后我试了使用-i,使用--trusted-host,使用--user,使用--upgradepip...全都不管用。后来我想,究竟是什么时候出现这个问题的,好像很久之前就有了...老提示不安全的连......
  • 9-10|0 0 4 */1 * mon-sat|0 0 4 */1 * sun定时任务
    对不起,我之前解析时忽略了“四点”的信息。确实,你提供的crontab条目表明任务应该在凌晨4点执行。不过,`crontab`不支持使用管道符“|”来连接两个时间条件。每个条件应该单独列为一个条目。这是正确的解读:1.**第一部分**:  ```  04**/1mon-sat  ```  -......
  • weblogic-10.3.6-'wls-wsat'-XMLDecoder反序列化漏洞-(CVE-2017-10271)
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描nacsweblogicScanner3、漏洞验证说明内容漏洞编号CVE-2017-10271漏洞名称Weblogic<10.3.6'wls-wsat'XMLDecoder反序列化漏洞(CVE-2017-10271)漏洞评级高危影响范围10.3......
  • 生信:RNA-Seq 比对工具性能比较 [STAR、Tophat2、HISAT2]
    RNA-Seq比对工具性能比较参考文章:https://yanzhongsino.github.io/2021/11/19/omics_transcriptome.RNA-seq/https://www.biostars.org/p/288726/比对(align)介绍序列比对又称为alignRNA-Seq分析中的策略从文件类型来看如下:graphLRFASTQ文件----->SAM文件-----......
  • 2-SAT
    SAT是是适定性(Satisfiability)问题的简称。一般形式为k-适定性问题,简称k-SAT。而当\(k>2\)时该问题为NP完全的。定义有\(n\)个布尔变量\(x_1\)\(\sim\)\(x_n\),另有\(m\)个需要满足的条件,每个条件的形式都是「\(x_i\)为true/false或\(x_j\)为true/false」。......
  • 7月4日 Satellites
    Satellites#include<iostream>#include<cmath>usingnamespacestd;intmain(){constdoublepi=3.14159265358979323846;constdoubleearthR=6440;doublea=0,s=0;std::stringstr="";while(std::cin>>s......
  • 美国英语情景对话大全American Situational Conversations
    美国英语情景对话大全AmericanSituationalConversations 发布时间: 2011-10-28 阅读量: 1885(1).IntroductiosandOpeningConversations介绍和开场白PeopleintheUnitedStatesdon'talwaysshakehandswhentheyareintroducedtooneanother.......