2-SAT
seeeagull
这个作者很懒,什么都没留下…
展开
-
[cf1215f]Radio Stations(2-SAT)
题意就是有p个点,可以选取或不取。有n对关系,满足两者至少取一个。又有m对关系,满足两个不能同时取。同时每个点有区间[li,ri],最终要满足存在这样一个数属于所有取到点的区间,也就是说他们的交集不是空集,并且已知li、ri∈[1,M]。 如果不看最后区间的限制条件的话,就是裸的2-SAT了。对于n对关系,将不取a向取b连边、不取b向取a连边;对于m对关系,取a向不取b连边、取b向不取a连边。 然后我们考虑如何通过连边描述每个点的区间。一个点的左端点所限制的其实是:如果最后选取的数小于li,那么是不能取原创 2021-01-16 21:13:11 · 170 阅读 · 0 评论 -
[poj2296]Map Labeler(二分答案 + 2-SAT)
由于每个点只可能位于正方形上边中点或下边中点,考虑2-SAT。我们可以按纵坐标升序给点排个序。若已知正方形边长为x,首先如果两个点横坐标差大于x,那么无论如何也不会覆盖。否则,计算两点纵坐标之差:1.为0,则必一上一下 2.大于0且小于x,则只能前一个点向下盖,后一个点向上盖 3.大于x小于2*x,则前一个点向上盖时,后一个必向上;后一个向下时,前一个必向下 点的个数不多,二分法每次验证一个值可不可行时通过枚举点对重建一次图。 #include<cstdio> #include<..原创 2020-08-17 22:54:13 · 86 阅读 · 0 评论 -
[P3825] [NOI2017]游戏(2-SAT)
暴力枚举每个x可能的三种情况,使每个地图都只有两种可能的取值。对于每一种枚举的方案做2-SAT,如果都没有解则判断为无解。 建图时,对于一个限制条件i hi j hj:如果hi不可用,则不连边;如果hj不可用,则由i场地用hi的点向不用hi的点连边,代表i场地不能用hi;如果都可用,则由i场地用hi的点向j场地用hj的点连边,再由j场地不用hj的点向i场地不用hi的点连边。 #include...原创 2019-05-11 10:56:08 · 124 阅读 · 0 评论 -
[AT2336] Flags(二分答案+2-SAT+线段树优化建图)
首先看出可以二分出距离,然后2-SAT判断是否可行。但建图时需要枚举每组节点,复杂度O(n²),且最多n*(n-1)/2条边,空间也开不下。如果现将2*n个位置排序,那么对于排序后第i个点,和它距离小于一个值的点分别在它左边和右边的两个连续区间内,于是可以线段树优化建图。 建树时首先将每个节点向其父亲连边,代表子区间内的点一定在更大的区间里。然后枚举点,二分求出和 i 距离小于一个值的区间的端点...原创 2019-05-12 17:08:09 · 254 阅读 · 0 评论