#P16128. [ICPC 2018 NAIPC] Double Clique

[ICPC 2018 NAIPC] Double Clique

题目描述

给定一个无向图 GG,包含 nn 个节点和 mm 条边。顶点集为 VV,边集为 EE。

记 GG 的 补图 为 G′G'。图 GG 的补图是一个包含所有相同节点的图,但若在 GG 中节点 aa 和 bb 之间没有边,则在 G′G' 中 aa 和 bb 之间有边;若在 GG 中 aa 和 bb 之间有边,则在 G′G' 中 aa 和 bb 之间没有边。

团 是一个节点子集,其中任意两个节点之间都有边。一个节点子集 SS 被称为 双团,如果 SS 是 GG 中的一个团,且 V−SV - S 是 G′G' 中的一个团。注意,空节点集也被视为一个团。

给定一个图,请统计图中双团的数量,并对 109+710^9 + 7 取模。

输入格式

每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤2×1051 \leq n, m \leq 2 \times 10^5),其中 nn 是节点数,mm 是图中的边数。节点编号为 1…n1 \ldots n。接下来的 mm 行,每行包含两个整数 aa 和 bb(1≤a<b≤n1 \leq a < b \leq n),表示节点 aa 和 bb 之间有一条边。保证所有边互不相同。

输出格式

输出一个整数,表示图中双团的数量对 109+710^9 + 7 取模的结果。

3 3
1 3
1 2
2 3
4

提示

翻译由 DeepSeek V3.2 完成