首页 > 其他 > 详细

三元环 四元环

时间:2019-11-03 19:13:13      阅读:91      评论:0      收藏:0      [点我收藏+]

枚举三元环

枚举无向图三元环,将无向图转变成有向图,对于一条无向边,定义它的方向为度数大的点连向度数小的点。

我们可以先枚举一个点\(i\),再枚举i连出的点\(j\),再枚举\(j\)连出的点\(k\),如果\((i,k)\)有边,\(ans++\)

复杂度:O($m \sqrt{m} $)

复杂度证明:考虑枚举\(i\)\(j\)等同于枚举每条边\((i,j)\),如果\(j\)的度数小于\(\sqrt{m}\) ,那么对于每一条边\((i,j)\) 枚举的\(k\)的次数小于$ \sqrt{m}$ 。如果\(j\)的度数大于\(\sqrt{m}\) ,那么这样的\(j\) 的不会超过\(\sqrt{m}\) 个,又\(i\) 点度数比\(j\)大,这样的\(i\)点也不会超过\(\sqrt{m}\)个,计算次数为

\(cnt=\sum_{j,deg[j]>\sqrt{m}}indeg(j)*outdeg(j)<=\sqrt{m}*\sum_{j,deg[j]>\sqrt{m}}outdeg(j)<=\sqrt{m}*m\)

枚举四元环

同三元环,将无向图转变成有向图,对于一条无向边,定义它的方向为度数大的点连向度数小的点。

我们可以先枚举一个点\(i\),再枚举i连出的点\(j\),再枚举\(j\)连出的点\(k\)\(ans+=num(i,j),num(i,j)++\)

复杂度:\(O(m*\sqrt{m})\)

复杂度证明:同上

三元环 四元环

原文:https://www.cnblogs.com/zhongzero/p/11788484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!