一堆基础只是略过
强联通分量 (trajan算法)
点双变双略过
略过
bzoj1123
只有割点会影响
https://blog.csdn.net/a1035719430/article/details/80991819
bzoj1718
https://mp.csdn.net/mdeditor/80962103
CF855G
bzoj3887
https://blog.csdn.net/a1035719430/article/details/80994579
2-SAT
一个由n个bool值组成的序列{a},给出一些限制关系,比如a[x] ^ a[y] = 1, a[x] & a[y] = 0等,要求确定{a}的值,使其满足所有限制关系。每种限制关系只限制两个元素
将每个a拆成两个点,分别表示0和1
图中的一条边
(x,0)−>(y,1)
(
x
,
0
)
−
>
(
y
,
1
)
表示若
a[x]=0
a
[
x
]
=
0
,则
a[y]=1
a
[
y
]
=
1
对于限制建边
a[x]a[y]=1
a
[
x
]
a
[
y
]
=
1
对应
(x,0)−>(y,1)、(x,1)−>(y,0)、(y,0)−>(x,1)、(y,1)−>(x,0)
(
x
,
0
)
−
>
(
y
,
1
)
、
(
x
,
1
)
−
>
(
y
,
0
)
、
(
y
,
0
)
−
>
(
x
,
1
)
、
(
y
,
1
)
−
>
(
x
,
0
)
a[x] & a[y] = 0
a[x] & a[y] = 0
对应
(x,1)−>(y,0)、(y,1)−>(x,0)
(
x
,
1
)
−
>
(
y
,
0
)
、
(
y
,
1
)
−
>
(
x
,
0
)
a[x]|a[y]=1
a
[
x
]
|
a
[
y
]
=
1
若a[x]一定为0,则
(x,1)−>(x,0)
(
x
,
1
)
−
>
(
x
,
0
)