blog.bouzuya.net

2020-08-17 ABC036 A, B, C

ABC036 A, B, C 考察

ABC036 A - お茶

B / A の切り上げを求めれば良い。 / が Rust では切り捨てで動作するので (B + (A - 1)) / A として切り上げた値を求める。

切り上げは頻出テクニックなので覚えている。

https://atcoder.jp/contests/abc036/submissions/15994554

ABC036 B - 回転

走査順を変えれば良い。左から右に下から上で走査して出力すれば 90 度回転した状態になる。

https://atcoder.jp/contests/abc036/submissions/15994580

ABC036 C - 座圧

A_i <= 10^9 なのでこの大きさをそのまま格納しようとすると TLE になる。 N <= 10^5 なので BTreeMapA_i をキーとして値をひとまず 0 として入れると良い。 BTreeMap はキーでソートされて格納されるので改めてキー順に 0 〜 の値を振り直すことで A_i <= 10^5 へと振り直すことができる。

座標圧縮はわりと出るテクニックなので覚えている。

https://atcoder.jp/contests/abc036/submissions/15994622


リングフィットアドベンチャーを進めている。