2022/1/29に開催されたAtCoder Regular Contest 134に参加しました。
前回のARC133は、1完で下げという残念な結果だったので、今回はせめて2完を取るぞという目標をもって参加することにしました。
Rated参加します。前回ARCは1完だったので、今回は最低2完はいきたいところ。
— devgenjin77 (@devgenjin77) 2022年1月29日
AtCoder Regular Contest 134 - AtCoder https://t.co/x1x6MtuHwD
今回の結果
結果は、予告通りの2完達成。これが今の全力です。。
肝心のパフォーマンスは今のレートと同じぐらいで、今回は現状維持という結果となりましたとさ。
2完緑パフォで現状維持でした😅
— devgenjin77 (@devgenjin77) 2022年1月29日
明日はレートを上げられるように頑張ります✊
devgenjin77さんのAtCoder Regular Contest 134での成績:1801位
パフォーマンス:1057相当
レーティング:1054→1054 (±0) :|#AtCoder #ARC134 https://t.co/uGrpla5w66
振り返り
Bでかなり悪戦苦闘しましたが、なんとか解き切ることができました。
A問題
位置0からシートで覆われている位置を変数で管理する。左端の区間から参照して覆われていない区間があった場合、その長さをとすると、枚のシートが必要となる。
この計算を右端のの位置まで計算すればOK。
問題なくACをとることができました。
提出コード
https://atcoder.jp/contests/arc134/submissions/28862848
B問題
とりあえず、に対するを選ぶときに、がより右に位置し、かつ辞書順最小のものを貪欲に選んでいけば良さそう。
ということで、まず文字列より、文字の辞書順の昇順且つ文字の位置の降順でソートしたリストを用意し、このリストの先頭をの候補として選択。
あとは、がより辞書順で大きい場合かつ、文字の位置が右となる場合に入れ替えを行うという手法でやってみることに。
で、この方法で大体合っていたようであるが、いざ提出してみると大量のWAに苦しめられることに。。
とが辞書順で同じだった場合の考慮が抜けていたのを直したりなど、なんやかんややっているうちに5回ペナルティを食らってしまうことになりましたが、なんとかごにょごにょ直しているうちにACを取り切ることができました。
提出コード
https://atcoder.jp/contests/arc134/submissions/28873889
C問題
残り時間があと20分少々あったので、問題に目を通してみましたが何もわからず。
あっけなく時間切れとなりましたとさ。
D問題
チラ見するものの何もわかりませんでした。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
今回は現状維持というなんとも微妙な結果となりましたとさ。
総括
今回のARCはなんとか2完達成まではできたものの実装ミスが多く、B問題でペナルティを喰らいまり、1時間以上かけてしまったのは反省材料です。
高難易度の問題の精進も必要かというところですが、実装力を高めるために緑Diff程度の問題を数多く解いていくことにも注力していこうと思います。
ということで、また次回も頑張ります。