ACL Contest 1

Bのみ1完。楽しそうなセットなのに実力が低い自分は対象じゃないんだとわかってとても悲しいのだ。

A - Reachable Towns

何回でも移動できるのやば。しばらく考えてると、「街 k を含めて」というのがUnionFindを使えという意味に見えてくる。行き来できるので、小さいほうにだけ辺を張ればいい。この範囲に辺を張るといってもその範囲内にあとから追加されるしうまくできない。

B - Sum is Multiple

N*2を正整数倍してk*(k+1)になるような最小のk。kとk+1は互いに素なんだけどどう使うか。ていうか互いに素なものを組み合わせてN*2を作るのむずくないか。式とにらめっこしてたら拡張ユークリッドの互除法のあれじゃんと気づき、extgcdでググって貼った。計算量でかいけど、約数チェックだけなら間に合うし、extgcdは約数に対してだけ使うので大丈夫なはず。なんか通った。通ってホッとしたが、ジャッジの進行を見ているときは「通らなくてもNoSubにはならずに済んだ」とも思っていた。

C - Moving Pieces

なんかフローみたいな空気を感じて逃げた。時間がないからね。始まる前は2時間半長いと思ってたけど、考えてるとあっという間に時間が過ぎる。