三元环讲解
Posted Jozky86
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三元环讲解相关的知识,希望对你有一定的参考价值。
参考文章:
不常用的黑科技——「三元环」
引入
给定一张无重边,无自环的无向图,点数为n,边数为m,且n,m同阶,问有多少个无序三元组(i,j,k),使得存在:
- 有一个连接i,j的边
- 有一条连接j,k的边
- 有一条链接k,i的边
即三元环
解决方法:
首先对所有的无向图进行定向,对于任意一条边,从度数大的点连向度数小的点,当度数一样时,从编号小的点连向编号大的点
此时就得到一个有向无环图
然后枚举每一个点,将u所有到达的点v进行标记,标记为u,然后再遍历点v,枚举点v所能到达的点w,如果w存在被u访问的标记,则说明(u,v,w)是一个三元环
证明:
这里讲的很详细,我就不做赘述
不常用的黑科技——「三元环」
复杂度
O ( n + m + n m + m m ) = O ( m m ) O(n+m+n\\sqrt{m}+m\\sqrt{m})=O(m\\sqrt{m}) O(n+m+nm+mm)=O(mm)
以上是关于三元环讲解的主要内容,如果未能解决你的问题,请参考以下文章