2022/9/4に開催されたAtCoder Regular Contest 147に参加しました。
土曜のABCでは水パフォを取って、レートの方は大幅に上昇。このARCで、高パフォーマンスが取れれば、一気に入水もあるかという位置に入ってきました。
とはいえ、前回のARCでは1完で冷えという結果でしたので、今回高パフォーマンスが取れるかどうかは微妙なところ。
とりあえず、今回はなんとかレートを上昇できるぐらいの結果が出ればという気持ちで臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年9月4日
入水まで、もう少しというところですが、まずはレートを落とさないことを目標に頑張ります。
AtCoder Regular Contest 147 - AtCoder https://t.co/oLwQ00ZrSo
今回の結果
で、肝心の結果ですが、1完で終了という残念な結果に。。。
茶パフォを出すという結果になってしまい、レートは暴落。。目標としてた水色コーダーが、遠いものとなってしまいました。。。
1完茶パフォで、レートは暴落😱😱
— devgenjin77 (@devgenjin77) 2022年9月4日
また出直してきます😢
devgenjin77さんのAtCoder Regular Contest 147での成績:2033位
パフォーマンス:700相当
レーティング:1178→1139 (-39) :(#AtCoder #ARC147 https://t.co/0jOpDx8zFm
振り返り
前回に続き、A問題で時間かけすぎだったかもしれません。
A問題
とりあえず、配列中で、最小の値と最大の値をとり続ければなんとかなるかという問題。
とはいえ、優先度付きキューを使うと、最大か最小しか取れないので、どうやって実装するかが難しいところ。
とりあえず、最大値の方を管理する優先度付きキューを使うことにし、最小値の方は一度だけ配列をソートしたのち取ってくることとする。
そして、配列の最大値を最小値で割った余りが以外の場合は、余りの値を次に使う最小値とし、さきほど使った最小値の方は、キューに突っ込むこととする。
で、とりあえずサンプルまでは通ったので、出してみたら、WAがたくさん。。。
何がおかしいかよくわからんかったが、よくよく見ると、最初のソートが抜けていたというオチでした(笑)
ソートのステップを追加して提出すると、無事AC。今回のA問題もだいぶ苦戦してしまいました。
41分15秒2ペナで、やっと1完。
提出コード
https://atcoder.jp/contests/arc147/submissions/34610635
B問題
一つ跳びで入れ替える操作Bは何回でも使えるので、これは操作Bで転倒数をできるだけ減らしてから、操作Aを行うのがいいんじゃないかと考えてみた。
ということで、まずは、小さい数字から順に、操作Bを優先して揃えていき、どうしても操作Aが必要な場合になったら、そこで操作Aを使うという方針で行ってみることに。
で、出してみたら、これがまたWAだらけという結果。。
大きい順からソートしてみるとか、いろいろこねくり回してみたが、WAは一向に治らずで、ほとんどお手上げ状態。
最後の最後ぐらいに、実はこの問題、値の偶奇と位置の偶奇が結構関係するんじゃ無いか的な事が浮かんでは来たものの、あまりにもアイデアが出てくるのが遅すぎました。
結局、時間いっぱいまでもがいで解けず。
C問題
順位表から見ると、ある程度のAC数があったので、ワンチャンあるかと問題文を確認してみましたが、何もわからず。。
D問題
問題すら見ておりません。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
もう少しで水色というところまで来ていましたが、ここで痛いレート暴落。また地道に頑張らねば。。
総括
今回、水色直前というところで、大きなマイナスを喰らうこととなりましたが、これも自分の実力不足が原因かと。
また、今回の結果を振り返って、次回に向けて精進していきます。
ということで、また次回も頑張ります。