AGC046

つまらなかった。こんなの解けて何になるんだという気持ちになった。みんな解けてるのに自分は解けなくてすごく嫌な気持ちになった。なんか最近のAGC、(結果はそれなりにいいこともあるけど)毎回つまらないんだが俺の頭がおかしくなったのか。

A - Takahashikun, The Strider

瞬殺できるはずの問題を瞬殺できないのが悲しい。わからないので実験してみると、正360角形とか星形とかになる。これではわかりにくいので矢印を全部原点から生やすと、いい感じに散らばるやつ。作れる最小の角度はXと360の最小公倍数だ。全部揃ったときに戻ってくるので360割るそれ。こういうの好き。好きなものは瞬殺したいが7分かかってしまった。

シミュレーションできることはすぐ気づいたけどさすがにそれをやったらAGCに出てる意味がないので頑張って考えた。7分ならその実装もできたかな。誤差怖いけど。

B - Extension

全然わからんので碁石を使って考える。下から見てD-B個、左から見てC-A個みたいな雰囲気はわかってくる。だいぶ経って、「重なる」ものを引けばいいと気づく(重なるというのは下から伸ばした棒と左から伸ばした棒が重なるみたいな)。左下から順にそこで初めて重なるものを数えればいいかと思ったけど無理そうで、無理になった。この時点で1時間くらい。Cへ。

C - Shift

操作がけっこう想像しづらい(要するにrotateだけど0と1しかないしね)。頑張って考えると、1でさえあればより左の好きな位置に挿入できるっぽい。実験すると操作も意外と可換っぽい。先頭の連続する1は削除してもよくて、0はセパレータと捉える、回数は1の個数まででよさそう。

ただ数え方がわからない。減るやつと変わらないやつと増えるやつに分かれる、全体の和は0、累積が一度でもマイナスになってはいけない、減るのは元の個数まで。いやKも指定されてるし無理では。だいぶ経って、真ん中で分けてそこを通過する個数を固定するのを思いつく(分割統治)。300だし。DPも考えたけど、DPというよりは注目すべき量を見つけることが大事なのかなと思った。