📖

AtCoder水色になりました

2023/02/09に公開


先日開催されたABC288にて、水色になることができました。YATTAZE!!
参加回数は68回でした。
いつ緑にまた落ちるか分からないので、水色をキープしているうちに入水記事を書いておこうと思います。(入緑記事→緑コーダーになるまでにやったこと)

目次
自己紹介
水色になるまでにやったこと
レートに下駄を履かせてくれる技術たち
コンテスト前によく聞いている曲

自己紹介

高校1年生から競技プログラミングを始め、現在高校3年生です。
高1の3月に入茶し、高2の10月に入緑しました。なので久々の色変です。
数学は他の教科に比べれば得意な方ですが、数学オリンピックなどに出場したことはないので、バキバキに数学が強いかというと全くもってそんなことはありません。
情報オリンピックは高2の時に本選まで進みました。

水色になるまでにやったこと




とりあえずいつものやつを貼っておきます。入水までに解いた問題数は平均より少し多め?な気がします。

学んだアルゴリズム

(入緑からの差分)
コンテスト本番でACできた記憶のないものには△をつけています。
・トポロジカルソート
・強連結成分分解
・ダイクストラ法
・木DP
・最小全域木(クラスカル法)
・三分探索△
・trie木△
・半分全列挙△
・ベルマンフォード法△
・セグメント木、BIT(セグ木は使い方のみ)△
・osa_k法△
・行列累乗△
・桁DP△
・全方位木DP△


こう見ると、緑から水色になるまでに覚えたアルゴリズムはそこまで多くない気がします。

バーチャルコンテスト

バーチャルコンテストによく参加していました。
学校がある平日は、朝にあさかつをして、夜に水めざすコミュ用バチャに出ていました。
特にあさかつは、無駄にしがちな朝の通学時間を有効に使うことができたのでよかったです。(よく考察しながら寝落ちしていましたが...)
時々もすーんバチャなどにも参加していました。
バーチャルコンテストをすることで速解き力が上がると思います。また、同じ問題を複数人で解くことによりモチベーション向上にもつながると思います。

AtCoder以外のコンテストに参加する

まだ参加回数は少ないですが、codeforcesや、yukicoderにも参加するようになりました。コンテストサイトごとに問題の傾向が少し違うので、AtCoderのレートには比較的繋がりにくいかもしれませんが、色々なコンテストに出るようになると本番慣れすると思うのでいいと思います。

効果的な過去問を解く

Educational DP Contest / DP まとめコンテスト → P問題までほぼ埋めました。DPの問題が網羅的にあるので、DPに強くなれると思います。
競プロ典型 90 問 → ★5まで埋めました。特にABCで頻出のアルゴリズムや考え方を効率よく学べると思います。
精選100問 → いつか解こうと思っていましたが結局解きませんでした。そのうち解きたいです。
この辺の問題はとても効率的に実力を向上させることができると思うので、1度解いたことがあっても、時間が経過したらまた解きなおすのもいいかもしれないです。

レートに下駄を履かせてくれる技術たち

VScodeの各種機能

・スニペット

こういうやつです。キーワードを打つと、あらかじめ用意していたライブラリを貼り付けることができます。
・WSL
これです。一々コマンドを打ってコンパイルする手間が省けます。
・コンパイルオプション
これは知らない方も多いかもしれませんが、コンパイルオプションにfsanitize=undefined,addressを追加すると、ローカルで実行する際に範囲外参照などのエラーを検知することができ、コード上でREの原因となる箇所がとても見つけやすくなります。

拡張機能


この辺を使っています。特にAtCoder Easy Test v2 は最強なので、入れておくといいと思います。

エナジードリンク

確実に集中したいときはがぶ飲みするといいです。(一定確率で翌日の胃が死ぬというデメリットがありますが...)
エナドリミーハーなので、レッドブル、ピンクモンスターあたりをよく飲んでいます。

コンテスト前によく聞いている曲

1 Stardom (King Gnu)

https://www.youtube.com/watch?v=k7rHDHJG1jA
歌詞がとてもいいです。コンテスト前に爆音で聞くと緊張が消えます。

2 Paris (鷺巣詩郎)

https://www.youtube.com/watch?v=5tEa4PWNXC8
シン・エヴァンゲリオン劇場版の序盤シーンでハッキングを急いで行っているシーンで流れていた曲です。聴くと急いでプログラミングしなければいけない気分になるので良いです。

(3) Overlow (King Gnu)

https://www.youtube.com/watch?v=0UAn8Q73xPo
聴かない方がいいです。(オーバーフローするので)


以上入水記事でした。これからも競プロを続けてぼちぼち青色になれたらいいな~と思っています。(B1の間に青色になれたら、嬉しいな...)

Discussion