
2-sat
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj2199 奶牛议会【2-sat】
解题思路设x,x^1互为反命题,那么对于一张投票(x,y),若不选x则一定选y,不选y一定选x,所以连x^1->y,y^1->x两条边。连出这个图之后,判断每一个点能不能选。也就是说,判断这个点所有能到达的点是否存在冲突(同一类的Y和N都选了),dfs就可以 。 如果某一个议案的Y和N都不能选,那么IMPOSSIBLE 否则的话,如果某一个点不能选,那么它同类不同项的那个点必须选;否则的话这两原创 2017-10-07 16:39:07 · 258 阅读 · 0 评论 -
bzoj4945: [Noi2017]游戏【2-sat】
解题思路: 乍一看以为是3-sat问题,但发现x最多只有8个,所以可以38383^8枚举禁止哪种赛车,又发现其实只用枚举禁止A(可选B,C)或B(可选A,C),这样A,B,C是否可选都被讨论过了。所以复杂度为O(2nn)O(2nn)O(2^nn)。 不知道为何uoj上第3个hack点TLE了……好像网上很多代码都会被卡…… #include<bits/stdc++.h> #def...原创 2018-04-10 08:37:36 · 235 阅读 · 0 评论