問題. Friendships
非負整数 が与えられたとき次を満たすグラフを構成せよ.ただし,そのようなグラフが存在しない場合は "-1" を出力せよ.
- 頂点数
の単純連結無向グラフ
- 辺重みは 1
- 最短距離が 2 である頂点対
の数がちょうど
個
制約: ,
解法
頂点数 の完全グラフ
を考えると,
のどの 2 頂点間の最短距離も 1 であることが分かる.したがって,
の場合は完全グラフとして答えが存在する.
各頂点には と番号が付けられているとする.
から辺
を取り除くと,
と
の間の最短距離が 2 となり,他の頂点対の最短距離は 1 のままであることが分かる.したがって,
の場合のグラフが構成できた.
このように,頂点 1 以外の頂点対を取り除くと,その間の最短距離は頂点 1 を経由する道が存在するので 2 となり,それ以外の頂点対の最短距離には影響を与えない.このようにして, とグラフを構成することができる.
このとき, の上限を考える.上のように頂点 1 を含まない頂点対を 1 個ずつ取り除いて,最短距離が 2 である頂点対の数を 1 個ずつ増やすグラフを構成したとき,完全グラフから頂点 1 以外の頂点対をすべて削除したスター(スター (グラフ理論) - Wikipedia)と呼ばれるグラフまでこの操作が行えることが分かる.また,スターは木なのでどの辺を削除しても非連結となる.したがって,
の上限は
となる(正確には連結性から
).
計算時間:
考察時間が長かったのが反省