今日の競プロ(2020/4/7)
AtCoder 3問
Codeforces 2問
Educational Codeforces Round 44 E - Pencils and Boxes
解説AC。
- 本目までの色鉛筆を正しく箱に入れられるか、のbool。
- 遷移は、かつをみたすあるでなら。本目未満を正しく箱に入れられて、かつ本目から本目までが一つの箱に入るなら、本目までの色鉛筆全てが正しく箱に入る、みたいな。セグ木とかで高速にできる。
Educational Codeforces Round 44 F - Isomorphic Strings
文字列に対して、文字列を
- 'a' のとき '1'
- そうでないとき '0'
と定める。も同様。このとき、文字列と文字列がIsomorphicであるとは、をソートしたものとをソートしたものが一致するということ。あとはRolling Hashでがんばる。
最初WAやったけど、Rolling Hashの基数を変えたら通った…。この辺よくわかってないのでまた勉強する。
ARC051 A - 塗り絵
バチャ。
ARC051 B - 互除法
ARC051 C - 掛け算
操作の回数がとても多いので、周期性をみつけたいなあ、と考える。
がもしという条件をみたすなら簡単で、回の操作でそれぞれの要素が回ずつ倍されるというわかりやすい周期をもつ(なら→→→→→… みたいに)。
そして、上の条件を満たさないうちは数列の最大値が更新されないため、どのような数列が与えられたとしても少ない操作(高々回)で条件をみたす瞬間が訪れることがわかる。
よって、愚直にシミュレーションしたあと周期を利用して適当に掛け算すれば完成。
ギリギリ時間内に解けた…。
コメント
Congratulations — you've qualified for Round 1 of Code Jam 2020!
Tシャツほしい〜〜〜がんばります