ブログ名

競技プログラミングやお歌のお話をする高菜です。

RTA 未経験の私が、お盆休みの 7 日間で、あり本 100% を完走したお話です。

f:id:ngtkana:20200817043259j:plain

タイトル大風呂敷がすぎたでしょうか……(ちょっと誇大広告かもです。)

現在の日時は 2020 年 8 月 17 日、お盆最終日の 5 時です。 とてもエモい気持ちなのでたくさん書きたいのですが、明日からはまた、これのためにあえて積み残したことを片付けていく必要があります。 今日のところは簡潔にです。あり本の詳しい内容のことなど(読書感想文)はできればまた、日を改めてお話したいです。

また、あり本 100% RTA を走るにあたっての環境構築の工夫等も、ぜひともお話したいのですが、それも少なくとも今日は余裕がなさそうです。

きっかけ

「あり本って読みやすい本なんだけど、意外といろいろ書いてあって、読むたびに学びがある本だよね」

このようなことは、あり本を評する定番の文句でしょうか。とても頻繁に耳にしました。

しかし実際に隅々まで読みましたというお話はあまり聞かずでしたから、私がやってみるをしてみました。

お盆休みの目標

100% とまではいかないまでも、できるだけあり本を進めていきましょうの気持ちでした。 初級編はさすがにおわらせたくて、中級編の中盤くらいまでいけばいいところでしょうかといった感じです。

それと、100% というのは若干うそで、体感 90 % くらいといった感じです。「練習問題」と「本書で扱わなかった発展的トピック」をやらなかったのは計上していないのですが、それ以外にもところどころ、諸々の事情で飛ばしたところがあります。(主に二分探索木のコンパイルが通せなくて諦めたり、ファイル操作を誤って幾何ライブラリを消してしまったり、後半余裕がなくなってちらっと言及されていた KMP やあほこらがノータッチだったりなどです。)

計画段階のおはなし

計画性のなさに定評のある私ですが、今回はなんと、予め問題数を数えてから臨みました。すごくありませんか? 会社勤務は競プロの役にたちました。みなさまありがとうございます。(こび)

f:id:ngtkana:20200817041740p:plain

進め方

サンプルが通ればヨシをしていました。 一応、CI で cargo-test さんと caorgo-clippy さんには回っていただいていました。

あり本の中で「問題」として書かれていないものや、サンプルのないもの、あり本特有の「実は〜〜もできて〜」も基本的に全部拾うように心がけました。しかしちょっと全部は難しかったです。(ご存知の通りあり本さんはしれっと重いことを仰るので大変です。)

何をやり残しましたか? それは回収する予定はあるのでしょうか。

とても乱雑ながら、思ったこと、やり残したことなどは手元で管理していて、かなり高い優先度に積んであります。

計画はどうでしたか?

まるっきりこのとおりとは行きませんでしたが、概ね予め用意したスプレッドシート(←プロジェクトマネジメント力がカンストしています。)を埋めていく感じで進めることができました。

あり本はどうでしたか?

いま、お盆休み最終日の朝 4 時半です。

こみいったお話はまたです。

最も大変だったセクションはなんですか?

ネットワークフローです。

完走した感想は?

怒涛の知識シャワーを咀嚼するのに必死な 7 日間でしたが、プログラミングコンテストの知識の大きな地図が入ってきて、とてもスッキリしました。

また精進における問題管理・進捗管理など、とっても幅広い学びを得て、今後の精進も頑張れる気持ちになりました。

7 日間も競プロをしていて大丈夫なのですか?

う……

あさって火曜日の社内 LT ほとんど準備しておらずです。週末に組合せ論の発表があり、来週の火曜日には Rust LT があります。 意図的に後回しにしたとはいえとても危機的な状況なので、少々極端かもしれないのですが、競プロの練習はまたしばらくはという感じになりそうでしょうか。

みなさま最後までご覧いただきありがとうございました。こちらがお盆休みの 7 日間で作った crate の 164 個のリストです。

f:id:ngtkana:20200817041010p:plain

f:id:ngtkana:20200817040553p:plain

f:id:ngtkana:20200817040647p:plain

f:id:ngtkana:20200817040711p:plain

f:id:ngtkana:20200817040811p:plain

f:id:ngtkana:20200817040840p:plain

詳しくはまたです。