AtCoder Beginner Contest 282 D問題 Make Bipartite 2
問題
提出解答
問題の概要
単純無向グラフ が与えられる. ただし,
である. である整数の組 のうち, 次の条件を満たす組の数を求めよ.
- は二部グラフである.
制約
- は単純
解法
二部グラフの部分グラフも二部グラフである. よって, この対偶より, 二部グラフではないグラフの拡大グラフも二部グラフではない. よって, 自身がが二部でない場合はどのように辺を追加しても二部グラフとなることは無いので, 答えは である.
以降では は二部グラフであるとする. このとき, の連結成分を とし, 番目の連結成分における部集合を とする.
このとき, は頂点集合 の分割になっている. よって, 各 に対して, となるような が唯一存在する. この を と書くことにする.
このとき, となる に対して, この が条件を満たすことと, であることは同値である. 実際,
- かつ, が同じ連結成分ではないとき, 異なる連結成分間を1辺だけ結んでも二部グラフであることは保たれる.
- かつ, が同じ連結成分であるとき, は異なる部集合であるから, 辺 を加えても二部グラフである.
- であるとき, 辺 を結ぶと, 二部グラフではなくなってしまう.
の頂点数を とする. となる頂点対の数は
である. また, ならば, であることに注意すると, 解答は
となる.