ABC200

後半きつかった。

A - Century

「世紀」の説明を見て切り上げだなと確認して。

B - 200th ABC-200

かなり難しいと思った。愚直にやるだけなんだけど、オーバーフローしないかの見積もりが必要になる。200を付け足す操作は、1000倍して200を足すのと同じであり、必ず200の倍数になるから次の200で割る操作とセットで考えて5倍程度にしかならない。5^10は10^10より小さく、Nの初期値にそれを掛けても10^15で1000倍する操作に対しても余裕がある。また、操作後の数は正の数になるので、0になる心配はない。ということで愚直。

C - Ringo's Favorite Numbers 2

いつもの。入力を受け取ったらさっさとmod 200をとってしまう。最初ソートしてしまったけど、0から199までいくつあるかカウントするだけ。

D - Happy Birthday! 2

問題文読むのに時間かかるけど、数列からいくつか選ぶのを2通りやってあまりを同じにできるかという問題。構成も必要なのでDPで解くのは面倒。あまり毎に考える?いや、鳩の巣原理から選び方が200を超えればどこかに同じのがあるし、200通り以下なら全探索できる。つまり、最初のmin(N, 8)個だけを使うことにして全探索(一つ以上選ぶ必要があることに注意)。Nが8以上なら必ずできるのかあ。出力形式が変わっているが、xを出力したあとスペースとB_iを出力していけばいいので楽に書ける(ここは素早く見抜けてよかった)。

E - Patisserie ABC 2

仕切りを入れようとするがN個以下って条件もあるじゃん。立方体だ。これをナナメに切って、三角形と六角形と三角形。解けるのかもしれないが、この場合分けは正気じゃない。やりたくない。他の方法が存在する気もしないのでずっとFをやっていた。しかし、感覚に反してEのほうがずっと多く解かれている。

F - Minflip Summation

この見た目で解いてる人が極端に少ないのやば。なんか偶奇がやばそうなのは感じる。0と1が切り替わる回数(ただし、先頭の文字も切り替わったものとする(つまり全部0でも1回と数える))を2で割って切り捨てれば答えだが、切り捨て部分が厄介そう。また、'?'が連続する部分もその個数の偶奇によって挙動が異なり、02244か11335みたいになる。まあ01234を引けば飛び飛びの1になるので処理はできそう。和もきれいになりそうではある。あとはK個連結させたときだが、01の切り替わり回数と'?'の塊の文字数および両隣が同じ文字かどうか。これ端が色々なパターンありすぎて脳が考えることを拒否した。