以下の内容はhttps://packer-jp.hatenadiary.jp/entry/2018/10/07/201547より取得しました。


AtCoder Regular Contest 103 E - Tr/ee

解法

木が構築可能であるための、次の必要条件が浮かびます。

  •  s_1=1
  •  s_n=0
  •  s_i=s_{n-i}

実はこれらは十分条件でもあります。具体的には、次のようにして構成できます。

  • 頂点 1, 2間を繋ぐ。
  • 直前に頂点 t, i(t < i)間を繋いでいたとする。 s_{i}=1の場合、頂点 i, i+1間を繋ぐ。 s_{i}=0の場合、頂点 t, i+1間を繋ぐ。

このようにすれば、 s_{i}=1のとき、頂点 i, i+1間の辺を切ればサイズ i, n-iの連結成分ができます。 s_{i}=0のとき、頂点 t, i+1間の辺を切ってもサイズ 1, n-1の連結成分しかできません。

反省

構築は色々なパターンがあって一般論を見出すのが難しいですが、とりあえず手を動かしてみるのがいいような気がします。




以上の内容はhttps://packer-jp.hatenadiary.jp/entry/2018/10/07/201547より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14