AtCoder Beginner Contest 252 参加記

2022/5/21に開催されたAtCoder Beginner Contest 252に参加しました。

atcoder.jp

先週土日のコンテストでは連敗してしまい、レートは再び下降傾向に。今度こそは水パフォの結果を出して、気持ちよくレートを上げられるようにとの気持ちで今回のコンテストに臨みました。

今回の結果

が、しかし、終わってみれば3完止まり。今回も厳しい結果になりました。

ABC252結果
ABC252結果

パフォーマンスはギリギリ緑を確保。レートの方は大幅に下がることになりましたとさ。

振り返り

D問題が、まったく解法思いつかずでした。

ABC252提出結果
ABC252提出結果

A問題

A - ASCII code

ここ最近のA問題にしては、久々にシンプルな問題かなという印象。

そのままchar型で出力しても良いかもと考えましたが、とりあえず、a(N - 97)を足してchar型に変換と一手間挟む形で出力する形で実装。問題なくACがとれました。

1分39秒で1完。

提出コード

https://atcoder.jp/contests/abc252/submissions/31835655

B問題

B - Takahashi's Failure

N個の食品について、おいしさと、順番をもつペアオブジェクトで管理し、おいしさでソートする。

その後、嫌いな食品の順番をSetで管理し、おいしさが最大の食品について、嫌いな食品の順番に含まれるかを判定する。

少し実装がややこしくなったが、とりあえずこのやり方でACが取れました。ただし、公式解説ではソートは不要だった模様。。

11分53秒で2完。少し実装に時間がかかり過ぎです。

提出コード

https://atcoder.jp/contests/abc252/submissions/31845886

C問題

C - Slot Strategy

最初、サンプル2が何故40秒もかかるのかよくわからなかったが、問題文を読み直すと、1秒間に押せるボタンは1つだけという制約があったのを見落としていた。。

これで考察に少し無駄に時間をかけてしまいました。

取っ掛かりとしては、0-9の10パターンぞれぞれについて、揃えるために必要な最小の秒数を求めれば答えが求まる。

あとは、同一周期に存在する数字をどう扱うかで大分悩んだが、結局同一周期に存在する数字で止めたい場合は、それぞれ10秒経ってから一個ずつ止める感じになるので、あとは各周期に何個停めたい数字があるかを求めれば問題なく計算できる。

ということで、上記の要領で、少し実装に手間取ったものの、なんとかACを取ることができましたとさ。

少し手強い問題だったので、また2完止まりになるかとヒヤヒヤしました笑

37分31秒で3完。

提出コード

https://atcoder.jp/contests/abc252/submissions/31857522

D問題

D - Distinct Trio

一読してみて、さっぱり解法がわからず。。10分ぐらい粘ってみましたが進展がなかったので、とりあえずE問題に進むことにしました。

順位表からみると、だいぶ解かれているようだが、なんでだろう。。

E問題

E - Road Reduction

あまり得意でないグラフ系の問題だが、なんとか検討してみる。

なんか見た目ダイクストラっぽい感じがするが、とりあえず全体のコストが低ければなんとかなるかという印象。

とりあえず、全ての辺をコストで小さい順から見ていき、Union-Findを使って連結していない要素をつなぐ辺の場合採用するというやり方で出してみる。

が、、これは嘘解法だったようで、あえなくWA。。

あとはどのような方法が適切かが思いつかず。とりあえず各頂点から出る辺について一番コストが小さいものは優先して採用するなどをしてみるも、結果はWA。。

あとは、解けないD問題で悪あがきしてみたりなどしましたが、結局何もできずで時間切れとなりましたとさ。

F問題

F - Bread

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

G問題

G - Pre-Order

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

Ex問題

Ex - K-th beautiful Necklace

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

これまでの実績

停滞モード継続中。なんとも、もどかしい展開です。

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

総括

今後水色コーダーを目指すためには、今回のD問題、E問題はなんとか自力で解きたかったところですが、まだまだ実力不足のようです。

来週の土日はまたABC、ARCと続くので、ここで良い結果が残せるように、今回の問題の見直しを進めて行きたいと思います。

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