競プロ始めた - アドカレ用
競プロ始めた
この記事は Competitive Programming Advent Calendar 2017 - Adventar のために書かれました。
あまり新規性のある内容は書けないので、半年ぐらい素人が競プロやってみてどうだったかをつらつら書いてみようと思います。他の人の参考になれば幸いです。
競技プログラミング(AtCoder限定)を始めたのは2017/06/18からです。勝手がわからなかったのか、無謀にもAtCoder Grand Contestに参加しています。当然なにも解けていません。
競プロやろうと思った動機
- 転職に役立ちそうなので実は前からやろうとは思ってた
- 働き始めてからこのかた何か作りたいものがいろいろあったけど最近は特になくなってきたため
- グラフ (データ構造) - Wikipedia の話を見て、現状にも適用できそうだと思ったため *1
- 発端となったのは、RDBでは ナイーブツリーSQLアンチパターン - ナイーブツリー は表現しにくいが、グラフDBではそれが容易に表現できそうだということ
AtCoderの感触
最初3ヶ月ぐらいの体感
最初3ヶ月ぐらいの気づき
- AtCoderにはBeginnersコンテストがあるので、初心者はまずそれに出たほうがいい
- AtCoderは毎週土曜日or日曜日の21:00〜開催
- レーティングの更新について を読んで、AtCoderで順位がつくと灰、茶、緑、水色、青、黄色、オレンジ、赤といった称号がつき赤色はRedCoderと呼ばれるヤバイ奴らということを知る
- コンテストにはratedとratedじゃないコンテストがあるので、順位を上げるにはratedなコンテストだけでれば良い
- プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 を見て、アルゴリズムの種別はけっこう体系化されていることに気づく
後半3ヶ月ぐらいの体感
- 問題文の内容がすぐに頭に入るようになってきた(要は慣れ)
- 効率の良いアルゴリズムが何か、計算量のオーダー表記について意味がわかってきたのでどうすると計算が遅くなってしまうかわかってきた
- 計算量オーダーについて - Qiita が参考になりそう
- 他人の書いたコードの意味が徐々にわかってきた
以上からの来年の目標
- AOJ本、蟻本を読んで問題解く
- AtCoder Beginners Contest 4完
- 緑コーダーからの水色コーダー