2022/11/20に開催されたAtCoder Regular Contest 152に参加しました。
一か月ぶりのARC。ここ最近のARCでは、問題セットとの相性の良し悪しで、結果が大きく上下するというのを繰り返してきました。実際、前回は1完で爆死という結果でした。
まあ、今回はなんとかレートを上げられるぐらいの結果は残したいなあということで、2完を目標として臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年11月20日
久々のARC。とりあえずは2完してレートを落とさないように頑張ります✊
AtCoder Regular Contest 152 - AtCoder https://t.co/Nqz7iha9r8
今回の結果
有言実行で、なんとか2完を確保!とりあえず2完と言った割には、だいぶ苦労しました(笑)
で、肝心のパフォーマンスは水色の上位!ここ数回の負けを一気に取り戻し、再度入水を狙える位置までレートを戻すことができました。
2完でしたが、水パフォ上位まで出てくれまして、これまでの負け分をだいぶ戻すことができました😂
— devgenjin77 (@devgenjin77) 2022年11月20日
来週も頑張ります✊
devgenjin77さんのAtCoder Regular Contest 152での成績:675位
パフォーマンス:1568相当
レーティング:1110→1165 (+55) :)#AtCoder #ARC152 https://t.co/KzRFdUjwLy
振り返り
なんとかB問題を解き切ることができました。
A問題
大分難しく考えすぎだったようで、大きく時間を溶かしてしまいましたが、一度考えを整理して、愚直にシミュレーションする方式で実装しました。
訪れた順に、可能なら一席ずつ開けた形で座らせるようにする。即ち、人組が来たら、残り座席から最大席引き、人組が来たら、最大席引く。
人組が来た時に、残り座席数が未満だったらNo、それ以外はYesという形で実装。
サンプルケースが弱そうだったので、一発で通るか心配でしたが、なんとかACを取ることができました。
24分42秒で1完。とりあえず、0完爆死だけは無くなったということで一安心。
提出コード
https://atcoder.jp/contests/arc152/submissions/36673059
B問題
今回のB問題は、開始30分経っても、AC数が200台ぐらいという、大分激ムズの予感がする問題。
しかし、C問題以降はこれ以上に絶望的な感じなので、なんとかBで上昇の望みを繋ぐしかない。とりあえず、問題を読んでみることに。
で、読んでみると、これまた何をすればよいのかわからんという感じだったが、紙上に数直線を書き、サンプルケースを元に動きを確認するなどして、解法の糸口を探っていく。
色々考えた結果、任意の休憩所から、ABがそれぞれ東西に分かれて出発し、休憩なしで歩いたときにすれ違う位置から一番近い休憩所でどちらかが待機するのが最適じゃないかという考えに至る。
よって、すべての休憩所について、ABが東西に分かれて出発したときにすれ違う位置から最短の休憩所を二分探索で求め、一番近い距離×2を待ち時間とし、これにを足した値を答えとする実装にしてみる。
で、これが見事大当たり!一発でACを取ることができましたとさ。
89分43秒で2完。これで順位は一気に600台に上昇しました!今回は爆上がりの予感がします。
提出コード
https://atcoder.jp/contests/arc152/submissions/36673059
C問題
残り30分程度あるので、一応問題に目を通したものの何もわからず。。
後ろの問題は確認する気すら出ずということで、今回はここで終了となりました。
D問題
問題すら見ておりません。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
なんとか、自身のHighest付近まで戻すことができました。
総括
今回のARCは、たまたま当たったBが高パフォーマンスを呼んでくれたので、大きくレートを上げることができました。
2022年も、残り一か月ちょい。この1年、緑レートを行ったり来たりするだけで終わりそうなのですが、なんとか今年中に入水をすべく、次回にむけて、より準備をしていこうと思います。
ということで、また次回も頑張ります。