AtCoderで水色になるまでにやったこと
By 192
軽い自己紹介
- 競プロ(主にAtCoder)をはじめて5ヶ月弱です(AtCoderID:tallestorange)
- 大学では鉄の疲労特性の研究をしていました
- 新卒で某SIerに入社して現在1年目です
- 競プロでは主にPython3を使用しています(Python歴は5年)
- 数学がすごく苦手です
競プロを始めた経緯
一番大きな理由は、 社会人になって大学時代と比べてコードを書く機会が減った ということです。
大学時代は技術系の部活に所属していました。当時は、
- LinuxサーバやWindowsサーバの構築・管理
- 部内ネットワークの構築・保守
- PythonやGolangでAPIサーバを構築
- Minecraft
アイドルのスケジュールをスクレイピングしてGoogleカレンダーに自動追加
などいろいろな事をやっていました。
しかし、当時はなにか作りたいものがない限りコードを書くことも無かった ので、実装力はあまり身につきませんでした。
学科の専攻としては金属材料を専攻していましたが、材料にあまり興味が持てなかったので学部の段階で就活をしました。その結果、某SIerから内定を頂き、今年からはその会社でSEとして働いています。
SEとなってからはコードを書く機会が学生時代と比べ減ってしまいました。しかし、都合よく作りたいものが浮かんではきてくれませんでした。どんどんコードが書けなくなっていく自分が恐ろしくなったので、競技プログラミングを始める事にしました。
AtCoderで水色になるまでに実際にやったこと
〜灰色
-
AtCoderにユーザー登録を行いました
ユーザー登録しないことには何も始まりません。
灰色〜茶色
-
Ratedコンテストに参加しました
生まれて初めて参加したRatedは2018/7/14のAGC026でした。パフォは988でした(1246位)。
3連続でパフォ1000前後を出すと茶色になりました。
この頃はPythonの標準ライブラリをできるだけ使いこなせるようになるためにドキュメントや他人の提出をひたすら読んでいました。
実際に競プロでよく使ったPythonのモジュールとしては
このあたりでしょうかね。これらを使いこなせるかどうかでABC-C問題の実装難易度が変わってくると思います。
あとは高校数学の教科書を読むなどしていました。組み合わせが苦手なので・・・
茶色〜緑色
-
AtCoder Problemsなどを用いてABC埋め等をしました
水色になるまでに625問ほど埋めました。業務の合間を縫って100日間で600問解いていたので
ひょっとしたら暇人なのかもしれません。日頃のストレスの発散手段としてはちょうどよかったです。 -
蟻本は初級編あたりまで電車で立ち読みしました。
完全に理解しました。 -
AOJは200問くらい、yukicoderは100問くらい解きました。AtCoderとはまた違った問題傾向なので解いてて気分転換になりました。
緑色〜水色
-
Atcoder Scoresを見ながら400点-500点埋めをしました
まだ半分くらいしか埋めていません。〜300点埋めをしていた頃に比べて簡単に解ける問題が減ったので精神的にしんどい時期が続きました。
-
Twitterで競プロerをフォローし始めました
競プロしたくないときはよくTwitterに逃げていたのですが、Twitter上で競プロerをフォローする事により常にある程度のモチベを保つことができるようになりました。 -
蟻本を中級編まで読みました
思ったんですが、蟻本って初級編よりも中級編の方が簡単ですよね???(
ただDPが苦手なだけ) -
ブログを始めました
生まれて初めてブログというものをやりました。ちなみにこれが初投稿だったりします。
-
普段使わない言語(C,C#)でSubmissionしました
気分転換になります。
-
EDF5をやりました
ストレス発散は大切です。
これらの取り組みのおかげ(?)でパフォーマンスが安定し始め(だいたい毎回1500くらい)なんとか水色になれました。最初は5,6回Ratedに出れば水色になれるのかなと思っていましたが最終的には水色になるまでに13回Ratedに出ました。
競プロで得られたもの・失ったもの
-
得られたもの
-
お金(?)
残念ながら、賞金を得られるほど強い競プロerではないので競プロでお金を得た訳ではありません。
自分の場合、競プロにのめり込むことで他の趣味にお金を使わなくなり、その結果自由に使えるお金が増えたということになります。
-
実装力
競プロを始める前までは、基本的に何か作りたいものがある時しかコードを書くことがありませんでした。
競プロを始めてからは、基本的に毎日コードを書いていますし、勉強のために他人のコードを読む機会も増えたので爆発的に実装力が向上しました。
現状、実業務ではあまりPythonを触ることはないのでアレですが、もし仮に実業務で使用する言語で競プロを始めたら作業効率が一気に向上するのではないでしょうか。標準ライブラリに詳しくなれますから、バグの少ない良質なコードを短時間で書けるようになると思います。
-
精神力
競プロは、努力した事がすぐには結果に結びつかないと思います。少なくとも凡人の私ではそうでした。
頑張っても頑張ってもレートが上昇しない中、何度も心が折れそうになりましたが、なんとかこらえて精進した結果、何とか水色に到達できました。
水色になるまでにここまで苦労したのですから、青色ってどんなに大変なんでしょうかね?
-
-
失ったもの
-
毎週土or日の21:00-22:40
私思うんですが、彼女(彼氏)持ちの競プロerってどうしているんでしょうね。コンテスト出てたらデートとか時間的に厳しくないっすか??
-
これからの目標・やること
-
青色コーダーになるべく精進する
- 500,600点の問題を重点的に解く
- 任意のばちゃに参加する
- 蟻本を読破する
- Typical DP Contestを解く
- こどふぉがやってるコンテストに参加する
-
ブログを書く
社で報告書を作成する際に自分のアウトプット力の無さを実感するので。
さいごに
-
大学生のうちから競プロやっておいた方がいい
時間が無限にあるうちに競プロを始めて、精進しておいた方がいいです。社会人になると時間の確保から始めないといけないのでとても面倒です。