AtCoder Beginner Contest 319参加記

2023/9/9に開催された、AtCoder Beginner Contest 319に参加しました。

atcoder.jp

前回のABCでは、青パフォゲットという僥倖で一気に再入水を果たすことが出来ました。

しかしながら、現状、緑パフォでも即転落というギリギリの状況。なんとか水色レート安全圏に近づくためにも、今回は水パフォ以上とって、Highestを更新しようという気持ちで挑みます。

今回の結果

ABDEの変則4完。なんとも微妙な結果です。

ABC319結果
ABC319結果

結果としては、なんとか水パフォの中ぐらいが取れたので、レートの方もHighest更新。とりあえず、今回の目標を果たすことが出来ました。

振り返り

C問題が解ききれなかった事と、ミスが多かった事が反省ポイントです。

ABC319提出結果
ABC319提出結果

A問題

A - Legendary Players

初っ端から、コピペの正確性を競う問題が出題されました(笑)

とりあえず、やるべき事は分かるから、さっさとACを取ろうということで、問題文にあるユーザー名とレーティングの対応をMapにコピペしてから、入力のSをキーとして取得した値を出力する実装を提出。

その後、結果を確認せずに、さっさとB問題に取り掛かってたら、実はコピペミスがあったとのことでWAを食らってました。。

修正後、再提出してAC。結局、この時点では11分11秒1ペナで2完という形になりましたとさ。

提出コード

https://atcoder.jp/contests/abc319/submissions/45362235

B問題

B - Measure

問題文がというよりも、問題自体が何を目的にしてるのかさっぱり理解できないという印象。

とりあえず問題文の通りに実装して、普通にACが取れましたとさ、という感じです。

が、Bを提出した瞬間A問題のWAに気づいたため、この時点では、10分16秒1ペナの1完でした。

提出コード

https://atcoder.jp/contests/abc319/submissions/45361458

C問題

C - False Hope

一読した瞬間、DFS全探索で解けそうな感じがするが、具体的にどう実装するかがパッと見えてこない感じ。。

特に、三目並べでリーチが掛かることを判断する箇所の実装に苦労しそうだなあと。

なんとなく、直感でこの問題はハマりそうという感じがしたので、すぐさまスキップしてD問題に取り掛かることにしました。

D問題

D - Minimum Width

一読して、ウィンドウ幅を二分探索すれば解ける問題だという感じ。

ということで、上限をかなり大きな値、下限を最初の単語の文字数で、行数がM以下になる最小幅を二分探索で判定しましたが、なんとこの提出はWA。。。

バグの原因を探ってみると、最後の単語の文字数が一番大きい場合にバグった出力をしてしまっていました。。

ということで、二分探索の下限を文字数の最大に置き換えて提出。これでACを取ることができましたとさ。29分18秒2ペナで3完。

提出コード

https://atcoder.jp/contests/abc319/submissions/45375314

E問題

E - Bus Stops

各クエリに対してO(1)で答えないといけない系の問題という印象。

とりあえず、最初のバス停から最後のバス停に到達する時のトータルの時間に周期性がある感じがします。

一旦、最初のバス停に到達した時刻のmod 8の周期8でそれぞれバスの乗車にかかるトータル時間を前計算しましたが、これはサンプルが通らず。。

ならば、周期は、8! = 40320の周期かということで、mod 40320で計算。これでサンプルが合ったものの、提出してみるとTLEでした。。

じゃあ、2から8までの整数の最小公倍数かということで、これを別プログラムで計算すると840mod 840の周期で計算することで、TLEギリギリでしたが、なんとかACを取り切ることが出来ましたとさ。

63分59秒3ペナで4完です。

残り時間は、C問題に注ぎ込んだものの、結局ACできず。コンテスト終盤にかけて順位の下降が半端なかったですが、なんとか水パフォが維持できたようでよかったです。

提出コード

https://atcoder.jp/contests/abc319/submissions/45401769

F問題

F - Fighter Takahashi

Fも一応チラ見しましたが、何もわからずです。

G問題

G - Counting Shortest Paths

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

これまでの実績

即緑落ちだけは、なんとか避けることが出来ました。

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

総括

C問題は、解説を見てみればなるほどという感じですが、これが本番で解けないといけないですねえ。

今回、とりあえず水色レートが維持できましたが、1回の爆死で緑落ちしかねない位置にいることは確かなので、今後も水パフォ以上を継続して獲得できるよう、精進していこうと思います。

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