大佬的总结
普通的三元环问题的最经典解法是边定向法。
对于每一条无向边,无论是从度数小的连向度数大的还是从度数大的连向度数小的,
都是一个思想:入度(出度)
<
=
m
<=\sqrt{m}
<=m
小连大的比较好理解:
每个点出度
<
=
m
<=\sqrt m
<=m,
那么枚举
(
u
,
v
)
(u,v)
(u,v),然后枚举
(
v
,
w
)
(v,w)
(v,w),对每个
(
u
,
v
)
(u,v)
(u,v),
(
v
,
w
)
(v,w)
(v,w)的数量
<
=
m
<=\sqrt m
<=m,
(
u
,
v
)
(u,v)
(u,v)的数量
=
m
=m
=m,故复杂度为
O
(
m
m
)
O(m\sqrt m)
O(mm)
大连小需要变下思想:
每个点入度
<
=
m
<=\sqrt m
<=m,
那么枚举
(
u
,
v
)
(u,v)
(u,v),然后枚举
(
v
,
w
)
(v,w)
(v,w),对每个
(
v
,
w
)
(v,w)
(v,w),
(
u
,
v
)
(u,v)
(u,v)的数量
<
=
m
<=\sqrt m
<=m,
(
v
,
w
)
(v,w)
(v,w)的数量
=
m
=m
=m,故复杂度为
O
(
m
m
)
O(m\sqrt m)
O(mm)
至于竞赛图的三元环。。。。。。真好。