AtCoder Regular Contest 161 参加記

2023/5/28に開催されたAtCoder Regular Contest 161に参加しました。

atcoder.jp

前回のARCは0完灰パフォという有様で、レートを暴落させてしまいました。今年に入ってから、ARCではあまりいい思い出はありませんが、今度は、なんとか0完は避けてレートを上げていこうという気持ちで臨みます。

今回の結果

今回は、苦しみながら2完を確保することができましたとさ。

ARC161結果
ARC161結果

が、、、結果としては緑パフォにも届かずで、結局レートを大幅に下げてしまう結果になりました。なかなか上手くいかないねえ。

振り返り

A問題でドハマりしてしまいました。

ARC161提出結果
ARC161提出結果

A問題

A - Make M

300点問題なので、今回ぐらいは楽勝かなとおもったら大きな間違い。ここで大分ハマってしまいました。。

まず、一読した感じでは解法がパッと思いつかないので、エスパーしてみることに。

とりあえず、配列Aをソートする。次に、配列Bの奇数番目の要素を、配列Aの小さい順から順に埋めていき、偶数番目の要素は、配列Aの大きい順から埋めてみる。で、作った配列BがM型かどうか検証。という感じで実装しましたが、これはWA。。。

じゃあ、配列Aをソートして、真ん中の値とその右の要素がイコールだったらNGか。という、これで当たったら儲けもんという感じの実装をするも大量のWAを喰らってしまう。。

この辺で考察が煮詰まってしまい、気が付けば、開始1時間弱経過して何もわからずという状態。このままでは、連続の0完爆死になってしまうということで、仕方なく結構AC数が伸びているB問題を着手することにしました。


で、、とりあえず、サクッとB問題が解けたので、再度A問題に取り組んでみることにしましたが、色々ググってみたりするも、答えらしいものは見えず。。

今回はもうダメかと思いましたが、とりあえず初回ダメだった解法を少し変えてみて、配列Bの奇数番目をAの小さい方から順に埋めていき、次にBの偶数番目を先ほどの続きから順に埋めてM型かチェックするという感じにしてみました。

で、これが当たりだったようで、なんとかACがとれましたとさ。

98分25秒2ペナで2完。2完勢では大分下の方になってしまいましたが、解けないよりはマシと割り切ります。

提出コード

https://atcoder.jp/contests/arc161/submissions/41813593

B問題

B - Exactly Three Bits

この問題は解法がパッと浮かんでくれたので助かりました。

とりあえず、f(X)=3を満たす最小値は7なので、N \lt 7の場合は、-1が答え。

それ以外の場合、X \le 10^{18}且つf(X)=3を満たす数は全列挙可能なぐらいしかないので、これらを全て生成する。あとは、Nで二分探索すれば答えが求まる。

という感じで実装して、提出したら問題なく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も良い結果は出ませんでしたが、一々こんなことで落胆していられません。次に向けて、精進あるのみです。

ということで、また次回も頑張ります。