feature image

2024年8月22日 | ブログ記事

AtCoderで水色コーダーになりました

初めまして、24B の @jupiter_68 です。

今回、「色変したら記事を書く」という文化に則り、
せっかくの機会ということでブログを書かせていただいてます。

自己紹介

記事を書くのは初めてなので軽く自己紹介を...

HN: jupiter_68 ( https://atcoder.jp/users/jupiter_68 )
所属: Algo班、Kaggle班
学年: 24B (2024年度入学)
使用言語: C++
趣味: 音楽を聴くこと(キタニさん、Eveさんとか)、ボードゲーム全般

競プロを始めたきっかけ

高校時代からの友人に、競プロをやらないかと誘われて、悩んでいたタイミングで
バスゼミで仲良くなった友人も競プロをやっていたため、試しに始めたのがきっかけです。
1週間後には、ハマってました。(5月初め位)

やったこと

灰→茶

APG4b(AtCoder Programming Guide for beginners)

https://atcoder.jp/contests/APG4b

AtCoderをするにあたって、最初に行ったのはAPG4bというAtCoder公式の初学者向けサイトです。

私はこのサイトで、入出力から、for文、再帰関数の書き方までを大雑把に勉強しました。

大学に入ってからPCを触り始めたので、慣れない機材で初めて見る言語を書くのは大変でしたが、同時に面白くもありました。

レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】

https://qiita.com/e869120/items/f1c6f98364d1443148b3

次に、私がやったこととしては、E869120さんが書かれた次のサイトを読んだことです。
サイト内の「『茶色コーダー』になるためのガイドライン」に従って解き進めれば、あとは回数でAtCoderのB-C問題までは比較的安定して解けるようになると思います。

私は初級編を通じて、全探索をかなり正確に行えるようになりました。

鉄則本 (6章まで)

この本は、上記の記事を書いたE869120さんが執筆なさった競プロ用の本です。

どのような本なのかは、「鉄則本」で調べれば出てきますが、
この本の個人的に最も優れている点は、本に載ってる問題が全てAtCoder上で解けるところです。

私はこの本で、比較的易しいアルゴリズム(DP,二分探索など)を勉強しました。

プログラミング基礎講習会

https://trap.jp/post/2291/

これは少し番外編なのですが、このサークルの新入生向けの講習会として、
プログラミング講習会というものが存在しており、
私は、プログラミングを勉強する環境としてよく使っていました。

上のリンクから、講習会の資料を含めた詳細が記載されたtraPのブログに飛べます。

茶→緑

鉄則本 (続き)

具体的には、8章、9章(最大フロー以降は除く)、総合問題

DFS, BFS, Union-Find, セグ木などはこの時期に勉強しました。

正直、priority-queue(ダイクストラ法など)とか、当時の方が使えていた気がする...

AtCoder Daily Training

https://atcoder.jp/contests/adt_top

制限時間1時間の過去問コンテスト、1週間に9セットもあり、難易度別に用意されている。

当時私は、Mediumで簡単な問題(B-C問題)の基礎固め・速度向上として使っていました。

緑→水

競プロ典型90問

https://atcoder.jp/contests/typical90

鉄則本が一通り終わったあとは、鉄則本の著者であるE8さんが作成した
典型90問という問題集を難易度順に解き進めました。

難しい問題は黄diff 相当の問題まであり、今の時点でも全て解けているわけではないですが、
水diff, 青diff に頻出のアルゴリズムやデータ構造 (代表的なのは遅延セグ木、SCC、セグ木DPなど)
を習得するのには、大いに役立ったように感じます。

参加したコンテストの復習

別に、灰色の頃から、解けなかった問題の復習自体はしていましたが、
本格的に復習に取り掛かるようになったのは、この頃からだと思います。

というのも、それ以前は問題が解けない原因の大部分が、基礎知識(map, set, 初歩的なDPなど)
の不足であり、比較的実装が軽いこともあって、復習に時間があまりかからなかったからです。

現在は、本番で解けなかった問題を4周することで、
類題が出てきた時に、ただ解くのではなく、速解きできるように復習を心がけています。

ICPC 国内予選

6月末にICPCの予選大会があり、自分もmogamigawaというチームで出場させていただきました。
大学スタート勢としてチームを組んだのですが、チームメイトの支えもあり、
競プロ歴2,3ヶ月のチームにしては好成績を出すことができ、自信につながりました。

個人的には、来年はICPC本戦以上に進みたいという未来に対する意欲が湧き、競プロのモチベ上昇に繋がったので、参加した価値は非常にあったと考えています。

これから

元々、先日のAGCにRatedで参加するために、入水を目指していたので、(Rated下限が上昇したので参加できなかったのですが)
これからは今年末のAGCまでに黄色になることを目標に頑張ろうと考えています。

終わりに

初めてブログというものを書いたので、拙い文章だったとは思いますが、
ここまで読んでくださり、ありがとうございます。

明日のブログリレー担当者は、 kenken さん、 METCH722 さんです。
お楽しみに!

jupiter_68 icon
この記事を書いた人
jupiter_68

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2024年9月17日
1か月でゲームを作った #BlueLINE
Komichi icon Komichi
2024年8月21日
【最新版 / 入門】JUCEを使ってVSTプラグインを作ろう!!!!【WebView UI】
kashiwade icon kashiwade
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2022年9月26日
競プロしかシラン人間が web アプリ QK Judge を作った話
tqk icon tqk
2022年9月16日
5日でゲームを作った #tararira
Komichi icon Komichi
2024年8月29日
クロスコンパイルRust
H1rono_K icon H1rono_K
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記