AtCoder Beginner Contest 294 参加記

2023/3/19に開催されたAtCoder Beginner Contest 294に参加しました。

atcoder.jp

先週のARCでは0完爆死という結果で、レート大暴落を喰らってしまいました。今回はなんとか水パフォ以上取って、レートを戻せるように頑張ろうという感じで臨みます。

今回の結果

なんとか5完を達成することができました。

ABC294結果
ABC294結果

が、肝心のパフォーマンスは水色に届かずじまいという結果に。結局、レートは少しだけ戻りました。

振り返り

今回は、E問題までの早解き競争回でした。そのなかで、Bの1ペナが痛かったです。

ABC294提出結果
ABC294提出結果

A問題

A - Filter

配列Aから、偶数を出力するだけ。やるだけの実装でACが取れました。

1分35秒で1完。

提出コード

https://atcoder.jp/contests/abc294/submissions/39842292

B問題

B - ASCII Art

行列Aの値について、0以外を大文字のアルファベットに変換するだけ。

これもやるだけの実装で提出。問題なくAC。。かと思ったら、、後で結果を確認したらWAを喰らってました!

どうも、出力がスペース区切りだったのがいけなかった模様。出力を変えて、今度は無事にACが取れましたとさ。

単純ミスで痛いペナを喰らってしまいました。13分43秒1ペナで3完。

提出コード

https://atcoder.jp/contests/abc294/submissions/39854447

C問題

C - Merge Sequences

問題文通りに、配列Cを作って、ソートする。その後、どの数字が何番目にあるかの対応情報をMapに突っ込んで参照すれば解決。

実装に時間が掛かったものの、問題なくACが取れましたとさ。この時点では、12分18秒で2完。

提出コード

https://atcoder.jp/contests/abc294/submissions/39853491

D問題

D - Bank

  • 受付に呼ばれていない人を優先度付きキューで管理し、呼ばれた人をTreeSetで管理する。

  • 1のイベントでは、優先度付きキューからpollした値をTreeSetに追加する。

  • 2のイベントでは、TreeSetから指定された値を削除する。

  • 最後に、3のイベントでは、優先度付きキューで管理している値とTreeSetで管理している値のうちの最小値を出力する。

これで問題なくACを取り切ることができました。23分12秒1ペナで4完。

提出コード

https://atcoder.jp/contests/abc294/submissions/39859377

E問題

E - 2xN Grid

  • 連長圧縮された情報を、半開区間に書き直し、行ごとにリストで管理する。

  • 1行目と2行目それぞれのリストの先頭にカーソルを配置する。

  • 1行目と2行目の、現在のカーソル位置の数字が等しい場合は、共通する区間の長さ分だけ答えを増やす。

  • 現在見ている区間の右側が小さい方のカーソルを先に進める。同じ場合は、両方進める。

  • この処理をカーソルが終端に到達するまで実行する。

このような実装で、問題なくAC。47分34秒1ペナで5完。

因みに、これぐらいの難易度だと緑Diffはあるかなという感じでしたが、蓋を開けてみるとなんと茶Diffでした!最近の参加者は大分レベルが上がっているのをひしひしと感じています。

提出コード

https://atcoder.jp/contests/abc294/submissions/39867540

F問題

F - Sugar Water 2

Eを解いた後順位表を見ると、F以降に大きな崖がある感じでした。F問題は、AC数からして黄色か青Diffぐらいはありそうな感じでしたが、とりあえず時間が50分程度時間があるので、取り組んでみることに。

が、、問題を見ると確かに難しい。なんとなく、解を二分探索するような感じかという雰囲気だが、肝心の式の組み立て方がよくわからない。

結局、この問題であれこれ悩んだりしているうちに時間が過ぎてしまい、結局終了となりましたとさ。

G問題

G - Distance Queries on a Tree

一応、問題に目を通してみましたが、多分こりゃ木構造アルゴリズムに関する知識が無いと解けないやつかなという感じ。

何も思いつかずのため、早々に撤退です。

Ex問題

Ex - K-Coloring

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

これまでの実績

先週、大幅に減らしたレートを少し戻すことができました。

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

総括

今回、E問題までが茶Diff以下ということで、5完を達成したものの、パフォーマンス的には渋い結果でした。

やはり、もう少し高Diffの問題を解けないといけないなーという感想しかありません。また、今回のF,G問題を復習して、次に備えようと思います。

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