この記事では, 一人でabcをやっていたときに気付かなかった知見を三つ書きます。

最初のものは特に長く書いていますが, どれも重要度は変わらないと思っています。

基本スペック

  • Webプログラマ
  • 競プロ, 始めて9か月くらい
  • 色: 緑 (Python)
  • 数学科出身(純粋数学)
  • ただし, 場合の数とかは苦手

知見

拡張機能なるものがある

AtCoderの拡張を公開して下さってる方々がいます。

AtCoderの拡張としては Greasy Forkというサイトで公開しているものと, Chrome拡張として公開しているものがあります。 多くのものはGreasy Forkで公開されています。

Greasy Forkから拡張をインストールする方法はGreasy Forkのトップ画面に書かれています。

以下, いくつかおすすめの拡張を書きます。

AtCoder Difficulty Display

AtCoderの問題のページにAtCoder Problemsの難易度を表示するユーザースクリプトです。 (by Greasy Fork)

この拡張を入れると, twitterなどのリンクから問題に飛んだ場合でも, その問題のdiffが分かるようになります。


AtCoder Difficulty Display


atcoder_all_open

問題Tabの隣に全ての問題を(ワンクリックで)開く全ての問題Tabを作成します。うまく動かない場合はatcoder上でのポップアップ制限を外して下さい (by Greasy Fork)

コンテスト開始時にこのボタンをクリックするだけで, そのコンテストの全ての問題を開くことができるようになります。


atcoder_all_open


AtCoderLanguageButtons

問題画面、提出画面、コードテスト画面に、言語を簡単に切り替えられるボタンを配置します。(by Greasy Fork)

提出する言語の切り替えが簡単になります。


atcoder_all_open


EasyTest

AtCoderの問題ページで、サンプルケースを素早く試します。(by Greasy Fork)

これで 提出前の画面で動作確認ができるようになります。


atcoder_all_open


AtCoderStandingsAnalysis

順位表のjsonを集計し、上部にテーブルを追加します。(by Greasy Fork)

これを見ると, 問題がどのくらいのレーティングの人が解いているのかや, どのくらいの人が提出しているのか, ミスしているのか などが分かります。


AtCoderStandingsAnalysis


AtCoder Rating Cumulative Distribution

Rating分布を累積表示、累積パーセント表示します(by Greasy Fork)。

たまに, どのくらいの順位なのかを見るのは, モチベーションになります。

AtCoder Rating Cumulative Distribution

バチャコンは良き

バーチャルコンテスト(略してバチャコン)とは, 有志の方が開催されているコンテストです。

問題は 過去のAtCoderのコンテストから出題されます。

また, ratingは更新されません。

難易度は, 時間, コンテスト毎にさまざまです。 灰色-茶色のコンテストもあれば, 灰色-青色のコンテストもあります。

特に有名なものには

  • あさかつ: 7:30-8:30, 灰-青diffでやっているコンテスト
  • くじかつ: 21:00-22:40, 灰-青diff もしくは 茶-橙diffでやっているコンテスト

があります。

バーチャルコンテストに参加することで, 以下のようなメリットがあります。

  • 時間管理なども含めてコンテストの練習になる
  • 苦手な問題でも(少なくともコンテストの時間中は)考えることになる

競プロ用にライブラリを公開しているサイトがある

競プロ用にライブラリを公開しているサイトもあります。

例えば, 自分はPythonを使っているのですが, 競技プログラミング用のPyRivalというライブラリがあります。

もちろん 自分でライブラリを作ってみるのもありですし, 勉強になりますが, より信用できるソースコードを探すのも手だと思います。

ソースコードの書き方も勉強になると思います。

自分の使っている言語で競プロ用のライブラリを探してみると, 良いと思います。

まとめ

競プロをやっている人と繋がりましょう。

twitterをやりましょう。 多くの競プロの人はtwitterをやってます。 特にabc/arc/agcの後はみんなで盛り上がってます。