(本文语言不通,细节省略较多,不适合初学者学习) 解决一类简单的sat问题. 每个变量有0/1两种取值,m个限制条件都可以转化成形如:若x为0/1则y为0/1等等(x可以等于y) 具体: 每个变量拆成i,i+n两个点,表示取0和取1 对于x为0,y为1的情况,从x向y+n连接一条边, 发现有逆命题:若y为0,则x一定为1,从y向x+n连接一条边. 可以发现,这形成了一个有向图. 可以tarjan 无解的条件是:一个变量的i,i+n在同一个scc里.这样这个变量不论取哪个值,都必须取另外一个值.…