🤖

除夜の鐘コンテスト2021 参加記

2022/01/01に公開

除夜の鐘コンテストとは?

煩悩を滅するために競プロ問題 108 問を解く!!

https://kenkoooo.com/atcoder/#/contest/show/20c1b9b6-8de8-4468-b01f-bdbc4df5e6e4

結果

全完! 108 問全部解けたので、うれしい!(うち 3 問は解説を見たけど…) 16 位。

開始前

ちょっと疲れていたので、栄養ドリンクを飲むなどした。準備でどたばたして更に疲れたかもしれない。
本当は直前まで寝ているつもりだったが、ネット小説が面白すぎて寝れなかった……。

軽い問題は Ruby でテキストエリアにベタ書きして AtCoder Easy Test v2 で Test & Submit をし、ちょっと重い問題は VSCode に Rust で書くつもりだった。
(でも Rust で書きたい問題、数問しかなかった……)

開始

開始 1 分前。 template.rb をコピーする。 Time.is を開いてカウントダウン。

00:00 になった。 AtCoder Problems の画面を更新。問題一覧が出てくる。まずは 1〜10 まで一気に開く。灰diffのかなり簡単な問題ばかりなので、すいすい進む。でも 2 問目の ABC074 B - Collecting Balls (Easy Version) は問題文が長かったので後に回した。

同じように、 30 あたりまでは 10 問ずつ開いて解いていった。

30 を越えた頃、 30 分が経過した。だんだん疲れが出てきたしので、早解きからじっくりに切り替える。この辺で後に回していた 2 問目を解く。問題文をよく読むと別に難しくはなかった。でも早解きには向いていない問題だ。

問題を適当に選んで開く方針に切り替えた。いい問題はないか見ていると、 UnionFind っぽさを感じる問題の Friends があったので開く。やっぱり UF だったので貼る。いうほど貼るだけじゃなかった。 39 問目の ABC122 C - GeT AC は実装重めだった。

この辺でかなり疲れが出てきた。もう寝るかとかいいつつ寝れなかったのでズルズルと問題を解く。後ろの方からも解いていた。解いた問題数が 80 問くらいになったところで疲労困憊して寝た。疲労コンパイル?

途中でペナをした問題は:

起きた時、いくつか解けない問題があったようで開いたままになっていた。まったりと問題を解いていくが、起きがけで頭が働いていないのでペナを連発したりする。疲れたので違うことをしたり、寝ていたりした。

夕方頃、頭が冴えてきたので後回しにしていた問題を解こうとする。でも問題自体難しかったのでペナが出まくってしまった。ペナを出した問題:

  • 11:27 65 ABC157 C - Guess The Number: WA×2 leading zero をつけてしまった?構築から探索に切り替えると直った
  • 13:35 89 ABC112 D - Partition: WA 自作の約数列挙が昇順になっていなかった
  • 18:15 83 ARC110 C - Exoswap: WA×2+TLE×4 全然わからなかったので解説 AC をしようとしたら、七転八倒してしまった。なんで TLE するかわからず、 Rust に切り替えてみたり(だめだった)。原因は、最小値のインデックスが探索している左端よりも大きくないといけないという条件を忘れていたからっぽい
  • 18:20 98 CODE FESTIVAL 2016 qual A C - 次のアルファベット: WA×2 \bmod 26 なので 25 - x にするべきところを 26 - x としてしまった

そんな感じで、解き終わった。順位表を見ていると shinchan さんが次に来そうで、でもペナから言って向こうが有利だったので抜かれないといいなーとか思っていると抜かれた。ちょっとくやしい。

印象に残った問題

終わって

なんか結構楽しかった。でも睡眠管理とかできてなかったので期待通りのパフォーマンスが出せなかったので、悔しい。今年はリベンジしたい。楽しかったし。もっと言うなら、大晦日じゃなくてもいつでもいいから 100 問ノックとかやりたい。 JJ1GUJ さんまた開きませんか?と思ったら大晦日以外にはやってなかったし記憶の捏造だったらしい。自分で開こうかな。

Discussion