ユニークビジョンプログラミングコンテスト2023 春(AtCoder Beginner Contest 300)参加記

2023/4/29に開催された、ユニークビジョンプログラミングコンテスト2023 春(AtCoder Beginner Contest 300)に参加しました。

atcoder.jp

直近2回のABCは、DDosの影響でUnratedという結果でした。

もしかすると、今回も同じ事が起きるかも知れないという感じですが、前回Unrated確定後に投げやりになってしまった事が反省点の一つとしてあるので、今回は何があっても最後まできちんと取り組むことを目標として臨むこととします。

今回の結果

今回は4完で終了です。

ABC300結果
ABC300結果

肝心のパフォーマンスは、なんとか水色に届きました。レートは少し回復。入水に向けて、着実に進んでいるところです。

振り返り

E問題を解き切る事ができなかったのが反省点です。

ABC300提出結果
ABC300提出結果

A問題

A - N-choice question

配列Cをループで探索して、A + Bがある位置を求めれば良い。

1分37秒で1完。今日は、提出が重くなかったので、なんとなく大丈夫そうかなという感じがしました。

提出コード

https://atcoder.jp/contests/abc300/submissions/41022772

B問題

B - Same Map in the RPG World

結構、実装重めだなあという印象の問題でした。

解法としては、Aに対する縦方向のシフト回数、および横方向のシフト回数としてあり得るパターンを全て試し、Bと一致するものがあるかをチェックすれば良い。

実装には結構時間がかかりましたが、問題なくACがとれましたとさ。10分43秒で2完です。

提出コード

https://atcoder.jp/contests/abc300/submissions/41029185

C問題

C - Cross

これも、やたら実装が重そうな問題という印象。。最近のBC問題は、面倒くさい全探索を出すパターンが多いなあと。

色々やりかたはあるだろうが、今回は、全ての#の位置から、×印の形が最大どこまで伸ばせるかをDFSで探索するやりかたで実装。

結構、実装に時間を取られましたが、なんとか提出1回でACが取れました。25分34秒で3完。

提出コード

https://atcoder.jp/contests/abc300/submissions/41034042

D問題

D - AABCC

制約から、とりあえず\sqrt{N}を上限としてやっていけばいいのかなあ、という感じがしないでもない問題。

とりあえず、エラトステネスの篩で\sqrt{N}以下の素数を列挙。あとは、小さい方からa,bを決め打ちして、cを二分探索すればいいかなあという感じで実装しました。

当初は、全探索で実装して、TLEっぽくなったり、二分探索も少しバグらせたりしたので、余計な時間を掛けましたが、なんとか提出1回でACが取れましたとさ。50分7秒で4完。

提出コード

https://atcoder.jp/contests/abc300/submissions/41040522

E問題

E - Dice Product 3

ぶっちゃけ、期待値の概念がよくわかっていないので、苦手な部類に入る問題。

とりあえず、最初はNから始めて、26それぞれで割り切れる場合に、5分の1の確率で遷移する感じで実装してみたが、サンプルがまともに通らず。。

次に、1から始めて、26それぞれ5分の1の確率で遷移する感じで実装するも、結局計算が間違っているのか、サンプルが通らず。

結局、まともな解法がわからないまま、時間切れという形で終了となりましたとさ。

F問題

F - More Holidays

一応、問題に目を通してみましたが、何もわからずで、即座に諦め。

G問題

G - P-smooth number

問題すら見ておりません。

Ex問題

Ex - Fibonacci: Revisited

問題すら見ておりません。

これまでの実績

レートは少し回復。また一歩入水に近づく事ができました。

コンテスト実績
コンテスト実績

総括

相も変わらず、水Diffが解けてないのがいかんところだなあという印象です。

まだまだ、水Diff、青Diff周りの過去問の精進が足りんなあというところ。GWはコンテストが無いようなので、この期間を利用して過去コンテストの振り返りを一通りやっていこうと思います。

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