Upgrade to Pro — share decks privately, control downloads, hide ads and more …

競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest

E208d217a4c69e05067f246bcffcb636?s=47 cleantted
June 14, 2019
1.1k

競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest

E208d217a4c69e05067f246bcffcb636?s=128

cleantted

June 14, 2019
Tweet

Transcript

  1. 競プロの楽しい始め方、 そして競プロをすることによるその 効果。 cleantted (テッド) VRCLT #2

  2. 自己紹介 ・cleantted (テッド) ・メガネの色が  最新のcommit hash値な  ニコアバターの人 ・趣味:  VRC  音ゲー(DDR

    etc.)  競プロ ・twitter: @cleantted_s ・Discord: 妹尾/テッド#3519
  3. 競技プログラミング (競プロ) # とは

  4. 一定の制限の下で、 与えられた問題を解くコードを 早く・正確に書くことで 順位を競うネットゲーム

  5. 競技プログラミング #とは 入力例 1: 3 4 5 13 Even Odd

    出力例 1: 入力例 2: 出力例 2: たとえば、こんな問題が出ます: 出典:https://atcoder.jp/contests/abs/tasks/abc086_a
  6. 競技プログラミング #とは ↑ Pythonでの解答例 こんな感じで問題を解くプログラムを書きます: 提出 その場で 自動的に正誤判定 対応言語(一部:コンテストによる):  C++,

    Java, C#, Go, Python (2系, 3系), Perl, Ruby,  Haskell, Pascal, Javascript (Node.js), Scala, F#
  7. ・すべてのテストケースに正解 ・実行時間・メモリの制限内に実行が終わる    制限の例:    ⇒ Accepted!! (= 正解) 競技プログラミング

    #とは AC: Accepted(= 正解) 正誤はその場で判定されます:
  8. 競技プログラミング #とは 点数が高い方が 上位 ACではないと 最終提出時間に ペナルティ 同じ点数なら 最終提出の早い 方が上位

    間違えた回数 コンテストの順位を競います: A B C D E
  9. ここがたのしい • アルゴリズムの知識が増える ◦ 例:長さNの配列に、ある要素があるか探す ▪ 線形探索:O(N) ▪ 二分探索:(ソート)+ O(logN)

    • N = 100,000 ⇒ logN ≒ 20 ◦ その他テクニック ▪ 貪欲法 ▪ 累積和 ▪ 動的計画法(DP) ▪ などなど……
  10. ここがたのしい • レーティング ◦ コンテストの成績に応じて上下する https://jobs.atcoder.jp/info/recruit https://jobs.atcoder.jp/home

  11. 競プロを始めるには? 1. 「AtCoder」に登録しよう! (https://atcoder.jp/) ◦ 日本で開催、初心者が参加しやすい、解説もある 2. チュートリアルをやろう! ◦ 最初の関門:標準入出力

    ▪ 代表的なものはコード例があるので参考にすると良し ◦ その後は有志がまとめた問題集をやるのが良し ▪ https://atcoder.jp/contests/abs 3. コンテストに参加しよう! ◦ 初心者用のコンテスト(AtCoder Beginner Contest: ABC) に参加するのがおすすめ ▪ 次のABC(130): 6/16 (日) 21:00-22:40
  12. 競プロ楽しいよ!! みんなもやろう!!