AGC061

1完。コンテストが着席コンテストと化す感覚を思い出した。コンテストの格が違う。難しい問題をワンチャン通すことを考えていたわけだが、本当に難しいんだ。

Aを20分ほどやって、BCを読んで少し考えて、どれもわからないので順位表を見た(ネタバレになるので最低限考えてから順位表を見る/期待パフォを上げるためには見たほうがいいので見る)。Aに専念して通し、その後Cを中心にやった(Cが無理になったらBをちょっとやる感じ)。

黄パフォ取ってレーティング下がるのつら。ただ、自分はレーティングを意識した(安定寄りの)立ち回りをしており、面白そうなBに突っ込んで死んだ人のおかげで黄パフォになっている。

A - Long Shuffle

実験する(0-indexedで)。愚直でN=29まで出力してながめる。K=0は1だし、K=N-2はN-1。規則性はあるけどけっこうバラバラで厳しい。Nが1小さいケースに帰着させてもバラバラなので何もできない。Nがかなりでかいので、2進法とかを考えると、Nが2冪のときかなりわかりやすい規則が見える。ここを足掛かりにやっていく。2冪のケースだと、前半と後半が同じ形をしているし、Nが1/2倍のケースと同じ形をしている。また、単に隣同士swapしただけになっているっぽいので、2冪+1のケースもそれを2回適用してわかりそう。2冪じゃないとき、例えばN=14だと最初の6個と最後の6個はN=6と同じ形をしている。2冪である8を最初と最後から被せる感じで重なった真ん中の2個はKと同じ数になっている。これで再帰的にできるかと思いきや、2冪+1のときだけ様子が違う。仕方ないので、さっき2冪+1はできそうと言ったやつを頑張って実装する。これで愚直と一致したので提出してAC。実験してエスパー。1時間以上かかっている。

B - Summation By Construction

Nが奇数だと左側の各頂点から偶数本の辺が出ているので左を下にしたVの字みたいなのをたくさん作って構成できそう。Nが偶数のときはできないと思ったけどできるらしいです。いや言われてみればVの字ってどっちにも辺2本だから偏るわけじゃないんだな。そもそも左右から出てる辺の本数の合計は等しいという当たり前のことがわかってなかった。

C - First Come First Serve

DPっぽいと思った。区間みたいに考えていたが、左右に時刻をプロットして線でつなぐと交点がないことで追い越さないことを表せるのでいいと思った。同じ時刻はないので、左右からいくつかずつ選んでどこに入るかみたいのを前計算しておいてどうにかできないか考えていた。本当に難しい。解けない問題にも見えないが、解き方は全く見えない。