摘要: 2-SAT,表示为一系列约束 \(x_i\; or\; x_j\) 即两个变量中至少选择一个为真。 那么,假如其中一个选择了假,另一个一定要选择为真。 拆点,把变量 \(x_i\) 取真用点 \(V_i\) 表示,变量 \(x_i\) 取假用点 \(V_{i+n}\) 表示。那么上面的一个约束就连边 阅读全文
posted @ 2021-02-18 22:25 purinliang 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 一般图,通过点双连通分量建立圆方树,每个点双连通分量建一个方点,方点向原图的点(圆点)连边,圆点之间的边(原图的边)删去。变成一棵树。 阅读全文
posted @ 2021-02-18 02:19 purinliang 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 不存在桥的图,称为边双连通图。原图可以经过tarjan算法求出桥,桥就连接了两个边双连通分量,假如把桥的都堵住(注意是只能把桥堵住,不能堵住点),然后每一块找一次连通块,就可以找到每个点所属的双连通分量,然后可以缩点成一棵树。 struct EBCC { static const int MAXN 阅读全文
posted @ 2021-02-18 02:01 purinliang 阅读(112) 评论(0) 推荐(0) 编辑