CF985G

image

要求所有三个点均相连时好做的,而要求的是没有点相连的,考虑容斥。

答案是\(所有情况 - 有一个相连的 + 有两个相连的-有三个相连的\)

第一个随便 \(O(n)\) 算一下,最后一个就是一个无向图三元环计数板子(度数大的向小的,做到 \(O(m \sqrt m)\))。

第二种枚举一条边 \((u, v)(u < v)\)\(u = i, v = j/ u = i, v = k/u = j/ v = k\) 计算。

第三种枚举三个点中间那个 \(x\),考虑 \(u - x - v\) 的贡献,对 \(x\) 连的边排序,还是三种情况,用双指针维护即可。

时间复杂度:\(O(m \sqrt m)\)

挺难写的。

posted @ 2025-11-06 21:07  xiehanrui0817  阅读(4)  评论(0)    收藏  举报