AHC018, AHC020にて、シュタイナー木は有効な手法であった。今回AHC036に参加した時も木が見えたし、行かなくて良い点もあったのでシュタイナー木を構築した。しかし、振り返ってビジュアライズしてみると、筋が悪かったことが分かる。
AHC036 visualizer sample 1にて、中央の点からPrim法による(ほぼ)最小シュタイナー木作成を行ったもの
- 赤い頂点:訪れる点
- 緑の頂点:訪れなくていい点
- 頂点の横の数字:中央の頂点からの距離
観察
- AHC036の解説を見た人は知っている通り、中央からLBの距離で町にタッチしてそのまま中央に戻るのが強い
- しかし、シュタイナー木だと辺数は少ないものの、各町に訪れるための距離が遠いものがある
- (中央からの距離が30の町がある...)
- 一方、中央からのBFS木なら最遠でも距離は18等
- 辺数は400ほどとかなり少ないが、Aに収めるためにそこまで削る必要はない
- 中央から遠い点を作らないためには、中央からBFSして木を構築すればよかった
- 「最小全域木よりシュタイナー木が高級」「シュタイナー木は効く」という過学習をしてしまった...🤖