CF985G
要求所有三个点均相连时好做的,而要求的是没有点相连的,考虑容斥。
答案是\(所有情况 - 有一个相连的 + 有两个相连的-有三个相连的\)。
第一个随便 \(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)\)。
挺难写的。
浙公网安备 33010602011771号