Search

Computer House Random
Computer House Random
  • Randomについて
  • ブログ
  • Project
  • 作品紹介
  • 部員紹介

競プロ成長録的なもの

精進しよう

otawa
2021/03/26

はじめに

 こんにちは、新3回生のotawaです。今回は競技プログラミングで水色になりましたー的な記事となります。水色になったのは昨年の8月でそのときに記事などを書けばよかったのですが書きそびれちゃっていたので、新歓ブログのこの機会に競プロの布教(?)も兼ねて記しておきます。

競プロをはじめたきっかけ

 大学に入学した直後はプログラミングは全くの未経験で競技プログラミングは存在自体知りませんでした。ランダムに入部するとプログラミング未経験者のために勉強会があるのですが、プログラミングを行ったのはこのときが初めてです。そして、勉強会の際にC言語の文法習得のための練習問題としてAtcoderの簡単な問題(A問題)が紹介されて興味を持ったことが競プロを始めたきっかけとなりました。個人的な感覚として、競プロの問題は入試数学の問題の面白いところをうまく抽出したような感じ(もちろん、問題の内容自体は異なりますが)で、高校数学はある程度好きだったので自然とハマっていきました。

レーティングの推移とか

 最初の数回分はC言語の超基本的な文法しか知らず、コンテスト中に解けたものがA問題だけでした。今になって考えるとさすがにA問題だけというのは寂しいのですが、当時はコンテスト中にACできたことが嬉しくて順位などはほとんど気にしていませんでした。その後に文法を一通り習得してからは自然とC問題、D問題と解けていき、レーティングも順調に上昇していきました。この頃のD問題はアルゴリズムに関する特別な知識が無くても解けるものが偶々多かったような気がします。コンテストに出ているうちに茶色、緑色になり、「もしかして競プロって簡単?水色にもすぐになれそう」とか思っていたのですがこれが大間違いでした。グラフを見ての通り、緑になってからのレートがほとんど伸びなくなっています。要因としてはアルゴリズムの勉強をほとんどしていなかったため、知識を要する問題にまったく対応できていなかったということが挙げられます。特にグラフの問題は手も足も出ない状況でした。10月頃から少しずつアルゴリズムの勉強をやり始めましたが、学んだアルゴリズムの問題が出たとしてもコンテストですぐに結果が現れたということはあまり無く、レートが上下を繰り返していてこの時期が一番きつかったです。競プロに限らず勉強全般に言えることですが、「わかる」と「できる」との乖離をすごく感じました。できるようにするためにはたくさん精進することが不可欠ですが、当時の自分は精進量が圧倒的に足りていなかったのかなと思います。翌年の春休みくらいに苦手だったDPやグラフ問題を積極的に解いて基礎的なアルゴリズムも大体網羅しました。この頃が一番力をつけた時期だと思います。すぐに結果が出るということは無かったのですが、このときの精進のおかげで8月の夏休みにとうとう最初の目標だった水色に到達することができました。このときは本当に嬉しかったです。競プロをやってて良かったーと思った一番の瞬間でした。水色になったあとはchokudaiさんのブログの

水色 (Bランク R1200~1599 上位15%)
水色はかなり優秀です。普通に企業とかで超優秀って言ってるプログラマが居た時に、半分くらいはこのランクになると思います。数学が得意なタイプだと、この一つの上の青色に行きますが。
半数以上のIT企業において、アルゴリズム能力についてはカンストと言えるでしょう。特にアルゴリズム的な能力を必要としない会社であれば、ここから上はレートを上げても実務に役立つ部分はほとんどありません。

などを見ていてニヤニヤしていました。第三者からの評価もモチベーションの維持につながります。
 そして、水色になった後のレートのグラフが途切れていますが、生活習慣がコンテストの時間と合わなかったり授業の課題が溜まっていたり、単純にサボっていたりで出場していなかったことによるものです。こんな記事を書いているのに、非常に申し訳ないです。今春からはきちんと精進してコンテストにも出場していきます。今後はまず水色中位を目指し、青パフォを出せるようにすることを目標として頑張っていこうと思います。

役に立ったこと・良かったこと

  • プログラミングの授業が楽になる
     学域・学類によるとは思いますがプログラミングの授業や演習では競プロを少しやっているといくらかアドバンテージを得ることができます。特に1年後期のプログラミング入門はめちゃくちゃ楽になりました。
  • ゲーム制作やその他開発で役に立つ(かもしれない)
     パズルゲームや敵コンピュータの思考ルーチンなどを作製する際に競プロで培ったアルゴリズムや実装力が役に立つと思います。自分はゲーム制作やその他開発の経験がまだまだ少ないので断言はできませんが、自分の経験では競プロをやっておいて良かったと感じたときは確かにありました。上達のためには毎日少しずつでもプログラミングに触れることが大切で、競プロはそのきっかけになるのではないかなと思います。
  • 精進しているときは、頑張っててえらい!の気持ちになれる
     一日に1ACでもしていればあとはダラダラと過ごしていても何か進捗を生んだ気分になれて、罪悪感が無くなり精神衛生上とても良いです。もちろん、ACは決して無駄になることは無く、精進を重ねれば重ねるほど確実に力になっていきます。虚無な日々を過ごしている方はぜひ競プロをやりましょう!

おそらくほかにもたくさんあります。

これまでに学んだアルゴリズムなど

  • 全探索
  • 二分探索
  • 深さ優先探索
  • 幅優先探索
  • DP(ナップサック問題や桁DP、ゲームDPなど)
  • 最短経路問題(ダイクストラ法、ベルマンフォード法、ワーシャルフロイド法)
  • クラスカル法
  • 座標圧縮
  • 累積和
  • いもす法
  • 逆元の求め方
  • Union-find
  • セグメント木

たぶん書き漏れがあります。

おわりに

 ランダムの過去の記事には競技プログラミングについて扱っているものが多くあるので、興味を持った方はそちらもぜひ読んでみてください。
 コンテストに積極的に参加していきましょう!(ここでブーメランが刺さる)

新入生向けブログリレー2021

2021年度オンライン部活動説明
競技プログラミング 新歓ブログリレー2021 記事を共有
Avatar
otawa

ぷよらーです

    Computer House Random はパソコンによる創作活動を行っている大阪府立大学の部活動です

    Avatar
    otawa

    ぷよらーです

      競技プログラミング 新歓ブログリレー2021 記事を共有

      News

      ICPC2020参加記

      ICPC
      pngn
      2021/05/08

      コンピュータハウスランダムってどんな部活?

      【1日目】5分でわかるランダムのこと
      NEGI
      最終更新 2020/04/18

      はじめまして、らんだむちゃんです!

      自己紹介と最初の動画
      らんだむちゃん
      最終更新 2020/03/19

      作品紹介

      【18日目】難波駅構内をblenderで再現してみた

      途中経過
      うっかり侍
      2021/08/31

      【17日目】ウィルダネスアドベンチャー(?)

      いつかリベンジする
      クマイザサ
      最終更新 2021/08/30

      【16日目】CHICKEN NIGHTS

      正直、すまんかった
      Marcus
      最終更新 2021/08/29

      Tag Cloud

      作品紹介 (48) 新歓ブログリレー2021 (46) 新歓ブログリレー2020 (37) 競技プログラミング (34) 新歓ブログリレー2022 (33) 雑談 (32) ゲーム (30) ゲーム制作 (24) 競プロ勉強会 (22) 作品展示リレー2021夏 (19)

      最新の投稿

      【38日目】OneDriveでファイルを管理して授業や部活で活用しよう!

      オム大、クラウド1TBくれるってよ
      Kwang
      最終更新 2022/04/29

      【37日目】受けループやらメタビートやらのすゝめ

      (ゲームにおいては)人の嫌がることをするのが最も楽しい
      クマイザサ
      2022/04/28

      【36日目】マイクラのMODパックで遊ぼう

      MODパックの導入は難しそうって思ってない?
      neuron
      2022/04/27

      【35日目】大阪公立大学 中百舌鳥図書館利用のススメ

      かなり長め
      Rikky
      2022/04/26
      READ MORE

      関連記事


      ICPC2020参加記

      ICPC

      Avatar

      主客転倒について

      コストの寄与を考える

      Avatar

      AHCに参加してみた。

      競プロ勉強

      Avatar

      競プロのすすめ

      そろそろ復帰したい

      Avatar

      ARC120-F解説

      ARC120 F

      Avatar

      新入生向けブログリレー閉会式

      お疲れ様でした

      Avatar

      Random
      Randomについて
      ライセンス
      Privacy Policy
      お問い合わせ
      部員専用サイト
      Project
      新入生向けブログリレー2022
      作品展示リレー2021夏
      競プロ勉強会
      Web
      らんだむちゃん
      ブログ
      作品紹介
      LT会
      グラフィック
      DTM
      タグ一覧
      Copyright © 2020 Computer House Random
      引用
      コピー ダウンロード