ABC231感想

結果

4完。先週は3完だったので、素直に嬉しいです。

f:id:iiko_11:20211211232122p:plain

f:id:iiko_11:20211211232146p:plain

A問題

自分がコンテストに出始めて以来、最も簡単な問題だったように思います。

B問題

辞書を履修していたのでとても簡単に解くことができました。pythonの場合、辞書はdefaultdictというライブラリを使うと便利です。当初は難しそうだという理由で敬遠していましたが、一度使うと虜になってしまいました。

C問題

身長順にソートして二分探索しました。「~以上/以下のものはいくつあるか。」と問われたら二分探索が使えることが多い気がします。問題を見てすぐに二分探索だと気づけたことに成長を感じました。

D問題

1列に並ぶ時、1人が3人以上と隣り合うことはできません。この条件のみを考えて提出してWAを喰らってしまいました。考察してみると、(1,2)、(2,3)、(3,1)が全て隣り合う時、円を作るしかなくなるため条件を満たしません。これをUnion-Findを用いて判定し、ACできました。隣り合う2人を次々に連結させていき、新たに連結させようとする2人がすでに連結しているならば、円(閉路)ができてしまうので、条件を満たさないといった具合です。

E問題

D問題でWAしたものの順調に歩みを進め、残り80分。問題をみると、かなり練習してきた桁DPで解けそうな雰囲気。今回こそは5完できるかもしれないと希望を抱いて問題に取り組みましたが、何をどうしたらいいのか分からないままタイムアップ。圧倒的実力不足です。来週までにACします。

総括

E問題の壁が厚すぎます。E問題が解ける日は来るのでしょうか。もし解けたら、嬉しすぎて眠れない気がします。

余談

ABC231は全体的に問題文の文章量が少なく、文字嫌い無能な私的にはとてもありがたかったです。意図して文章量を減らしてくださったように感じました。

明日はAHCなるものが開催されるということで、初参加してみようと思います。