Marathon Match 130 でやったこと
OEIS にかけるということが本質なんてことがマラソンであるなんて思いもしなかった
結果
provisional : 27 位 56.19053
やったこと
基本的には Greedy + 山登り
解がある程度小さい時は、次数が大きい頂点から採用できる値で一番小さいものを貪欲に選んでいく
解がある程度大きい時は、ノードに入れる値を小さい方から見ていき、採用できる値を採用していく
ちょっとした工夫として、bitset を用いた枝刈りをした。具体的には、ある値 があるノード とのノード間でダメであった時、bitset に を格納することで、 を辺に持つようなノードには が挿入できないとした。
大反省
実は完全グラフには Golomb ruler というものがあり、これを埋め込むかどうかがこのマラソンの一番の本質であった。
が小さいケースで OEIS をかけるなんてのは、アルゴだったらまずやってそうなことだが、マラソンだから全く思いつかなかった。
その他 MM 特有の得た知見
provisional で -1 のケースが存在した時、 AHC と異なり全体が 0 点になるのではなく、そのケースのみが 0 点になる。
exection-xxx.log は自分の submit による他人の score の変化値が乗っている。
-seed 1,100 -bests bests.txtとかやるとそれだけで相対スコアリングのローカル順位表的なやつが出来るようになってます 少し前に追加された機能ですがめっちゃ手軽ですごい……
— phocom (@_phocom) 2021年10月20日
強い人は自前で環境作ったりしてると思いますが
便利すぎ!!