2023/5/28に開催されたAtCoder Regular Contest 161に参加しました。
前回のARCは0完灰パフォという有様で、レートを暴落させてしまいました。今年に入ってから、ARCではあまりいい思い出はありませんが、今度は、なんとか0完は避けてレートを上げていこうという気持ちで臨みます。
Rated参加します。
— devgenjin77 (@devgenjin77) 2023年5月28日
前回のように0完爆死だけは無い様にしたいと思います。
AtCoder Regular Contest 161 - AtCoder https://t.co/2M52pn6PR8
今回の結果
今回は、苦しみながら2完を確保することができましたとさ。
が、、、結果としては緑パフォにも届かずで、結局レートを大幅に下げてしまう結果になりました。なかなか上手くいかないねえ。
2完しましたが、茶パフォで大きく負けました😭
— devgenjin77 (@devgenjin77) 2023年5月28日
A問題でハマったのが敗因。また次頑張ります。
devgenjin77さんのAtCoder Regular Contest 161での成績:1520位
パフォーマンス:796相当
レーティング:1154→1123 (-31) :(#AtCoder #ARC161 https://t.co/tSbOJRYs1s
振り返り
A問題でドハマりしてしまいました。
A問題
300点問題なので、今回ぐらいは楽勝かなとおもったら大きな間違い。ここで大分ハマってしまいました。。
まず、一読した感じでは解法がパッと思いつかないので、エスパーしてみることに。
とりあえず、配列をソートする。次に、配列の奇数番目の要素を、配列の小さい順から順に埋めていき、偶数番目の要素は、配列の大きい順から埋めてみる。で、作った配列がM型かどうか検証。という感じで実装しましたが、これはWA。。。
じゃあ、配列をソートして、真ん中の値とその右の要素がイコールだったらNGか。という、これで当たったら儲けもんという感じの実装をするも大量のWAを喰らってしまう。。
この辺で考察が煮詰まってしまい、気が付けば、開始1時間弱経過して何もわからずという状態。このままでは、連続の0完爆死になってしまうということで、仕方なく結構AC数が伸びているB問題を着手することにしました。
で、、とりあえず、サクッとB問題が解けたので、再度A問題に取り組んでみることにしましたが、色々ググってみたりするも、答えらしいものは見えず。。
今回はもうダメかと思いましたが、とりあえず初回ダメだった解法を少し変えてみて、配列の奇数番目をの小さい方から順に埋めていき、次にの偶数番目を先ほどの続きから順に埋めてM型かチェックするという感じにしてみました。
で、これが当たりだったようで、なんとかACがとれましたとさ。
98分25秒2ペナで2完。2完勢では大分下の方になってしまいましたが、解けないよりはマシと割り切ります。
提出コード
https://atcoder.jp/contests/arc161/submissions/41813593
B問題
この問題は解法がパッと浮かんでくれたので助かりました。
とりあえず、を満たす最小値はなので、の場合は、-1
が答え。
それ以外の場合、且つを満たす数は全列挙可能なぐらいしかないので、これらを全て生成する。あとは、で二分探索すれば答えが求まる。
という感じで実装して、提出したら問題なくACがとれましたとさ。
この時点で、66分45秒で1完。なんとか0完爆死を阻止する事ができました。
提出コード
https://atcoder.jp/contests/arc161/submissions/41809912
C問題
C - Dyed by Majority (Odd Tree)
Dよりムズそうな感じが順位表から読み取れました。とりあえず問題に目を通してみるも何もわからずです。
D問題
D - Everywhere is Sparser than Whole (Construction)
大分AC数が伸びているので、なんかの典型か?と思い問題を見てみるも、何もわからずです。
E問題
E - Not Dyed by Majority (Cubic Graph)
問題すら見ておりません。
F問題
F - Everywhere is Sparser than Whole (Judge)
問題すら見ておりません。
これまでの実績
ABCで積み上げたレートをARCで浪費する。これが今年のパターンになってきました。
総括
今回のARCも良い結果は出ませんでしたが、一々こんなことで落胆していられません。次に向けて、精進あるのみです。
ということで、また次回も頑張ります。