AtCoder 入茶

投稿者: | 2024年9月1日

4ヶ月くらい前から競技プログラミングのAtCoderを初め、毎週コンテストに参加している。26回目の参加で初めて茶色Coderになった。嬉しい。コードを提出してACになるのは楽しい。

レート400以上の茶色になるためには、以下のようなレベルが必要なようである。

  • AtCoder Beginner Contest (ABC)のC問題まで1時間以内に正解
  • 安定して10回以上

    たまに50ポイントくらい急上昇しているのは、隔週で開かれるAtCoder Regular Contest (ARC)でA問題が解けた時で、お得感がある。そのためか、今回参加したARC183を最後に、ARC184以降は、レートが1200未満の参加者はレート更新対象外となる。ABCで失敗して意気消沈した翌日にARCで回復するということがもうできない。

    始めた頃は、科学技術分野のプログラミングの経験はそれなりにあったが、競プロに必要なアルゴリズムとデータ構造に関する知識は完全に不足しており、時間をかけてB問題まで解くのがやっとだった。茶色になった現在までに獲得しているスキルを以下に示す。これだけあれば茶色にはなれる。

    • アルゴリズム
      • 尺取り法
      • DP(まだ実戦で成功した例なし)
      • DFS(まだ実戦で使えるかどうか怪しい)
      • 二分探索
      • 再帰関数
      • 貪欲法
      • ダイクストラ法(実戦経験なし)
    • データ構造
      • pair
      • set
      • multiset
      • map
      • modint
      • セグメントツリー(実戦で使えるか怪しい)
    • c++実装テクニック
      • repマクロ
      • vector
        • 初期化
        • ソート
        • 反転
        • 追加、削除
        • 末尾の取得
        • 2次元、多次元vector
      • iterator
        • ソート
        • for文の回し方
        • 値の取得
      • next_permutation()

    c++実装テクニックは、忘れてもコンテスト中に調べてOKだが、タイムロスになるので、スラスラかけるようにしておかないと、C問題まで1時間はなかなか厳しい。

    次は入緑を目指す。