はじめに
Atcoderに触れてから約3年、本格的に取り組み始めてから約8カ月で、当初目標にしていたアルゴ水になることができました
ここまでやってきたことなどを振り返ってまとめたいと思います
精進量
基本は緑diffまでの問題に取り組んでいました
入茶まで
競プロを始める前は、業務改善でエクセルVBAやPythonを使って「動けばいい」程度のプログラムを書いていました
そんな中、偶然AtCoderを知ってる人と話す機会があり、改めて取り組み始めました
毎週ABCに出るところから始めて、時間中に取り組んだが解けなかった問題(CかDまで)を終了後に解説ACするようにしていました
新しくデータ構造などを学ぶことはあまりなく、出来ない問題に直面してから学ぶような感じでした
学んだ事
set(集合)、二分探索、dfs、グラフなど
入緑まで
前までと同じく、週末にABCorARCに出て問題を解いて、終了後に振り返るといった感じで取り組んでいました
dp(動的計画法)が全然理解できずに、2週間くらいスマホで色々な記事を眺めたりしたのをよく覚えています
自前のライブラリを作り始めたのはこの頃からで、同じ言語の提出を見て、良さげな関数や書き方があれば手元にコピーさせてもらっていました
学んだ事
DP、UnionFind、heapq、最短距離探索など
入水まで
今のままABC参加だけしていても、水色にはなれそう。と漠然と思っていましたが、年内に到達したい気持ちもあったため、秋頃からはコンテスト外で精進する時間が増えていきました
解けない問題は、解説を読む→理解できなければ人のコードを読む。の順で解くようにしていました
そこまでしても理解できなかった場合は、提出せず未ACで放置して後からまた取り組めるようにしています
以下、取り組んだコンテンツと進捗です
Problems Training
https://kenkoooo.com/atcoder/#/training
Hardは、解けそうで解けない問題がいい感じに並んでいて、考察力を付けるのに役立った気がします
競プロ典型90問
★4まではほぼ埋めました
実際に埋め始めたのは年明けからでしたが、もっと早くやっておけばと思っています
その他
時々まよコンに参加させてもらったり、過去のコンテストをバチャで走ったりしました
ARCにも、毎回ratedで参加していました
レートが下がるリスクより、2時間真剣に取り組むことの方が大事だと思っています
コンテスト参加環境紹介
他に紹介する機会がないのでここで
VScodeで開いたnotebookで実行しています
テストケースは毎回手作業でコピペしています...
それでも、dpや配列の中身を実行後からでも手軽に確認できるので、この環境は割と気に入っています
未習得・今後学びたい内容
内容をあまり理解していないものも多く、同じ意味の言葉があるかもしれません
逆に、この辺りは知らなくても水色にはなれるのかなと思います
- 桁DP、確率DP、木DP
- トポロジカルソート
- 最大流、最小費用流、SCC
- BIT、双対セグ木、遅延セグ木
- 2-SAT
- ダブリング
- 平方分割
- 畳み込み
- Grundy数、Nim
今後
青パフォを一度も出していないので、青パフォを出すことと水色安定を目指したいと思います!