AtCoder Beginner Contest 292 E問題 Transitivity
問題
提出解答
問題の概要
単純有向グラフ がある. ただし,
このとき, 以下の条件を満たすためには, に最小で何本の有向辺を追加しなければならないか?
- に対して, ならば, .
制約
- は単純
解法
最終的な有向グラフ は以下のようになる.
- に対して, であることと, において, から へ到達可能であることが同値になる.
実際, この は条件を満たしている.
そして, から到達可能な において, から への有向パスを とする. このとき,
- なので, である.
- なので, である.
- なので, である.
となる. よって, から全て到達可能な は でなくてはならないことが分かった.
よって, 求めるべきは頂点 の出次数を , から到達可能な 以外の頂点数を とすると,
である. 各 に対して, は 時間で求められるので, 全ての に対して求めることで, 時間で求められる.