2-SAT
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
【GDOI2017模拟8.14】第四次忍者大战
Description有n个数,每个数可以是1,2,3,4中的一个。相邻两个数的绝对值之差要≥2. 并且有m个限制,每个限制表示b1~bk中这些数两两互不相同。 求是否有可行解。 n<=100000Solution首先,很容易发现,奇数位上的数只能是1,2,偶数位上的数只能是3,4. 然后,对于每组限制,对于奇数和偶数的限制最多只有两个。(显然) 那么我们可以把每个点拆成两个点,点i向点j原创 2016-08-15 22:26:21 · 763 阅读 · 0 评论 -
【NOIP2017提高A组模拟9.23】碎
Description给出n个点,你需要把这n个点分成两个块,如果点i和j分在了同一个块那么会产生d[i][j]的代价,定义一个块的代价这个块内的所有代价的最大值。现在你需要使两个块的代价和最小。 n<=300Solution谴责出题人,暴力竟然能过 首先我们考虑一个多项式算法。 设D(A)为第一个块的代价,D(B)为第二个块的代价,我们强制D(A)>=D(B) 那么枚举D(A),二分D(B原创 2017-09-27 21:38:13 · 369 阅读 · 0 评论 -
[ARC069F]Flags
Description你有n个点,每个点可以在xi或者是yi,求最优方案下相邻两点的距离的最小值的最大值n<=1e4,xi,yi<=1e9Solution一眼二分,第二眼2-sat,第三眼线段树优化连边 第一次打在考场上没有标称参考我可能写丑了Code#include <cstdio> #include <cstring> #include <algorithm> #define fo(i,a,b原创 2017-11-04 22:06:49 · 455 阅读 · 0 评论