2021/12/26に開催されたAtCoder Regular Contest 132に参加しました。
2021年最後のRatedコンテストなので、とりあえず目標はレート上げ。気分良く今年の締めくくりができればという気持ちで臨むこととしました。
Rated参加します。今年最後のコンテストなので、レート上げで終えられるように頑張ります。
— devgenjin77 (@devgenjin77) 2021年12月26日
AtCoder Regular Contest 132 - AtCoder https://t.co/gD7DHgjA5N
今回の結果
で、肝心の結果ですが、なんとか2完が確保できたというとこです。
パフォーマンスは、現レートよりちょい悪というところでして、結果としてはレート-1というなんとも中途半端な内容となってしまいました。
2021年の締めくくりは、2完でちょい冷えといういうなんとも微妙な結果となりました。😅
— devgenjin77 (@devgenjin77) 2021年12月26日
来年頑張ります✊
devgenjin77さんのAtCoder Regular Contest 132での成績:1402位
パフォーマンス:1017相当
レーティング:1020→1019 (-1) :(#AtCoder #ARC132 https://t.co/zSF3kP92j6
振り返り
B問題をめちゃくちゃ苦労してなんとか通すことが出来ました。
A問題
一読して、初手から解法がよく分からん問題がきたかという印象。制約条件より、2次元配列を生成して中身を埋めてから実行するというのも大分苦しそうである。
それでも、A問題からいきなり諦めるわけにはいかないということで考察をしていく。まずは条件を満たす塗り方がちょうど一通り存在するということで、各条件においてどういう塗り方となるかを考えると、とがの行と列は全て黒で確定し、その次に、とがの行と列について、先に塗ったマス以外は全て白で確定することはわかった。
次に同様の要領で、とがの行と列、次にとがの行と列という具合に塗る色のが特定できる。この要領でサンプルケースを実際に塗ってみると、以下のように問題文の説明と同様の塗り方ができる。
42315 5##### 2#...# 3#.#.# 4###.# 1....#
後はこの図を見た時に、白のマスと黒のマスでなんらかの法則性があるかを見てみると、どうも黒のマスのみの値が大きくなりそう。ということで、答えはの場合は黒、それ以外は白ということでした。
あとは実装して、ACを取ることができました。
提出コード
https://atcoder.jp/contests/arc132/submissions/28171316
B問題
こちらも一読して、解法がよく分からん問題がきたかという印象。考えてはみるものの何も分からずで時間だけが溶けていきました。
で、30分以上あれこれと考えてみたところ、問題文の操作で並び替えができるのは元々昇順で並んでいる数列を何回かシフトするか、一度だけ逆順にひっくり返すリバース操作を行ったものなので、配列中のの位置と、全体として昇順、降順どちらで並んでいるかという事に着目すればよいというのがやっとのことでわかりました。
で、元の入力が昇順の場合は、が先頭になるまでシフトするか、一度リバースした後 が最後尾になるまでシフトして再度リバースする操作のどちらかで、操作回数が少なくなるものを選択すれば良い。
また、元の入力が降順の場合は、 が最後尾になるまでシフトしてからリバースする操作か、先にリバースをしてからが先頭になるまでシフトする操作のどちらかで、操作回数が少なくなるものを選択すれば良い。
とここまで考察するのに小一時間かかってしまったのですが、あとは実装をするのみ。なんどかバグらせてWAを出したのち、やっとのことでACを取ることが出来ました。
前回より大分遅めの、開始100分弱で2完達成です。
提出コード
https://atcoder.jp/contests/arc132/submissions/28177702
C問題
残りが20分程度あったので、問題には目を通してみたものの適切な手法が思いつかずでした。
D問題
D - Between Two Binary Strings
ワンチャンあるかと思い、問題だけは覗いてみたものの何も分からず。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
2021年最後のRatedコンテストは、やたら苦労した挙句にレート-1というなんとも微妙すぎる結果となりましたとさ。
総括
今回のARCでは、AB問題もすぐには解法が見出せずで、苦労させられました。そんな中でも諦めずに地道に問題に取り組むことでなんとか最低限の結果は確保できたのは、それなりに自分が成長した結果なのかという感じが致します。
今年1年間AtCoderに取り組んだ結果としては、レートが200少々上がったという結果でした。途中競プロに取り組めない時期もあり、レートがダダ下がりになる時期がありましたが、後半にかけて精進を継続することでなんとか巻き返しが出来たのは非常によかったですね。
来年も精進を継続して、少しでも上の色、レートに到達できるようにしていこうと思います。
ということで、また来年も頑張ります。