随笔分类 -  图论--2-SAT

摘要:长这么大这种题不能1A。。 $n \leq 50000$的abcx序列,要你构造同样长一个ABC序列满足:如果这一位是a那就不能填A;如果是b不能填B;如果是c不能填C;否则随意。并满足$m \leq 100000$个限制:如果第$i$位填了$p$,那么第$j$位一定要填$q$。$x$个数不超过8. 阅读全文
posted @ 2018-06-26 21:44 Blue233333 阅读(214) 评论(0) 推荐(0)
摘要:$n \leq 1e6,m \leq 1e6$的无向图,每个点属于一个国家(我就说国家咋地),现要求给所有$k$个国家分别选首都,满足:每条边至少一个端点是首都;每个国家有且只有一个首都。 2-SAT。每个点选和不选。条件一直接满足,条件二边数太多。 前缀优化建边。来源 1 //#include<i 阅读全文
posted @ 2018-04-24 21:55 Blue233333 阅读(289) 评论(0) 推荐(0)
摘要:m<=4000条关系描述n<=1000个事件,每条关系描述了一个或语句表示“x事件发生或不发生”或“y事件发生或不发生”,求每个事件是必发生、必不发生还是都行,无解输出IMPOSSIBLE。 是一个2-SAT问题。建图后把每个事件发生不发生都dfs一遍即可。听说缩点后会更快,就写了个tarjan。 阅读全文
posted @ 2017-08-26 13:15 Blue233333 阅读(304) 评论(0) 推荐(0)
摘要:n<=10000局剪刀石头布,对面第i局出Ai,m<=10000种对你出什么提出的要求:Xi Yi Wi 表示第Xi局和第Yi局,Wi=1:必须不同;Wi=0:必须相同,问是否存在你一局都不能输的可行解。 一开始对面就把你每局的选择减成2个了,又是一个2-SAT问题。至于建图一定要考虑周全!注意一个 阅读全文
posted @ 2017-07-20 16:48 Blue233333 阅读(203) 评论(0) 推荐(0)
摘要:给n<=100对点,从每对点里面挑一个并以这些挑出的点为圆心画圆,并且这些圆不能互相覆盖,找出一种方案使得这些圆半径中最小的那个最大。 “最小值最大”就是二分答案啦!考虑现在每个点都画出半径x的圆,如何选点呢? 可以发现选了一个点P之后与其距离相差2x内的点Q都不能被选,也就是“与P在同一对的另一个 阅读全文
posted @ 2017-07-20 10:42 Blue233333 阅读(201) 评论(0) 推荐(0)
摘要:用的是刘汝佳大白书里面的版本。网上还有tarjan缩点后再拓扑排序构造解的版本,感觉靠谱一点,但太长了。。。 ps:为什么说“如果当前考虑的变量不管赋值为真还是假都会引起矛盾,可以证明整个2-SAT问题无解”??? 是这样的:比如说,某个点探测到的所有点,构成了一个集合。如果有必要调整前面的策略,那 阅读全文
posted @ 2017-07-20 10:32 Blue233333 阅读(195) 评论(0) 推荐(0)