AtCoderのStreakが200日目になった

 

はじめに

 2020年7月26日にAtCoder ProblemsでカウントされているStreak(AtCoderの連続新規AC)にて200日を達成しました.半年以上1日も欠かさず競技プログラミングに取り組んでいるのは結構頑張っている方ではないでしょうか?100日達成時の記事を読み返したところ,差分から自分の成長点を知れてよかったので,300日目の自分のために現状と考えていることなどを文章に起こします.私については前回の記事に書いてありますので,この記事が初めての方はそちらも併せて読んでいただけると嬉しいです.

前回の記事↓

kgrlizst.hatenablog.com

私が競技プログラミングをやっているモチベーション(2020/7/26時点)

 競技プログラミングを取り組み始めた当初の,コーディング力の向上や基礎的なアルゴリズムの学習の目的は十分に達成できたと感じています.

 今のモチベーションは以下の3点です.

  • ここまで繋げたStreakを切ったら二度と競プロをやれないかもしれない.
  • 学部生の間に青色だと結構強そう.
  • 物事をやるなら継続してある程度のレベルまでやるべきだと思っているので,競技プログラミングでは最低で水色になりたい.

100日間の結果

f:id:kgrlizst:20200724101234p:plain

f:id:kgrlizst:20200724101240p:plain

 

取り組んだコンテンツ

AtCoderのコンテンツ

  • リアルタイムのコンテストに13回参加.
  • 新規AC203問.
  • AtCoder Beginner Contest C問題を手が付かない2問以外全て.
  • AOJのアルゴリズムの教育的な問題.

読んだ書籍・記事など

  • 螺旋本,蟻本を必要に応じてつまみ食い.
  • Web-DB PRESS vol.115 (chokudaiさんの記事の回)
  • 必要に応じてアルゴリズムの解説記事.
  • 以下の記事から60問.

qiita.com

 

主な成果

AtCoderにて

  • レーティング:672 -> 1016(+344)
  • パフォーマンスの自己ベスト:1144 -> 1704(+560)
  • パフォーマンスの平均が1色分ほど上がりました.
  • 観測している範囲での大学内レーティングが1位になりました.

 特に新しいアルゴリズムを習得したわけでもないので,慣れで伸びたのかなと思います.bit全探索や幅優先探索などの基礎的な実装がスラスラと描けるようになりました.

前回の目標から

前回立てた目標は

  • 水パフォを出す.
  • 茶色パフォーマンス以下を出さない.
  • レーティング900以上.

でしたが水パフォとレーティング900は達成することができました.

考えていること

モチベーションの管理

 授業がオンラインになったことによる課題の増加,長年推しているゲームのリマスター版が発売されるなど,この100日間(特に後半50日)は忙しく,精進が疎かになり,Streakも簡単な1問で繋ぐ惰性になってしまっている日も多かったです.そこで対策として,些細なご褒美を自分に与える意味合いで1問解くごとにポケモンカードのパックを1つ開けるという習慣を始めました.これのおかげで終盤2週間のモチベーションは程々に戻すことができ,3箱分(70パック程度)の問題を解くことができました.お金がかかって仕方ないので欲しいものリストに入れておきます...そういえばAtCoderの問題解いてどうして(株)ポケにお金を落としているんだ...?

なぜポケモンカードを開けることがモチベーションに繋がるのか
  • 開けたときの当たりがわかりやすいから,手早くドーパミンが出せる.
  • パックの開封にかかる時間がせいぜい30秒で気分転換の時間効率が良い.

次の100日間でやること

課題

  • 100日前に引き続きE問題に手を付けられていないことによるパフォーマンスの頭打ち(たまにリアルタイムで500点問題が解けることがあるが打率が低い).
  • 高難易度の問題に時間をかけて考察する習慣を付けられていない.
  • 普段の過去問を解く時に緊張感がないため,本番の緊張感に負けている.
  • 動的計画法が苦手.(二項間漸化式くらいになるとさっぱりわからん).
  • 二分探索がバグる.(二分探索がバグる)
  • コードにベタ書きするデバッグ方法が遅いのでC++の言語機能を学習する.

取り組むこと

  • 引き続きStreakを切らさない.
  • 夏休み期間中は朝活に極力参加し,緊張感を持って問題に取り組む習慣を作る.
  • レッドコーダー記事中級の残りの50問をやって基礎的な実装力を固める.
  • Twitterでよく見る「~diffの問題全部埋めました」を自分も茶緑についてやる.
  • 余裕があればC++の解説書を1冊読みたい.

目標

  • C問題までを15分以内に確実に解ききる.
  • D問題の打率を8割くらいに保ち点数で水パフォを安定させる.
  • Eを解いて青パフォを出す.
  • レーティング1250以上.

終わりに

 単位もあらかた取り終わったので,ここから年末まで卒論以外の時間たくさん精進するぞ!!!