Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest
cleantted
June 14, 2019
2
1.1k
競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest
cleantted
June 14, 2019
Tweet
Share
More Decks by cleantted
See All by cleantted
岩石の話
cleantted
0
15
"命名規則"を決めよう!/Let's Define a "Naming Conventions"
cleantted
0
720
shaderでDDRのパァーノゥを光らせてみた/lighting_ddr_by_shader_in_vrchat
cleantted
0
910
VRChatの中からTwitterとDiscordに メッセージを送れるようにした話 (IFTTT×VRC_Panorama)/Usecase of IFTTT for VRChat
cleantted
0
1.1k
Featured
See All Featured
How to name files
jennybc
39
58k
How to Ace a Technical Interview
jacobian
265
21k
Designing Experiences People Love
moore
130
22k
GraphQLとの向き合い方2022年版
quramy
16
8.1k
For a Future-Friendly Web
brad_frost
164
7.4k
A Philosophy of Restraint
colly
192
14k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
Building Your Own Lightsaber
phodgson
94
4.6k
How STYLIGHT went responsive
nonsquared
85
3.9k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Bash Introduction
62gerente
596
210k
Transcript
競プロの楽しい始め方、 そして競プロをすることによるその 効果。 cleantted (テッド) VRCLT #2
自己紹介 ・cleantted (テッド) ・メガネの色が 最新のcommit hash値な ニコアバターの人 ・趣味: VRC 音ゲー(DDR
etc.) 競プロ ・twitter: @cleantted_s ・Discord: 妹尾/テッド#3519
競技プログラミング (競プロ) # とは
一定の制限の下で、 与えられた問題を解くコードを 早く・正確に書くことで 順位を競うネットゲーム
競技プログラミング #とは 入力例 1: 3 4 5 13 Even Odd
出力例 1: 入力例 2: 出力例 2: たとえば、こんな問題が出ます: 出典:https://atcoder.jp/contests/abs/tasks/abc086_a
競技プログラミング #とは ↑ Pythonでの解答例 こんな感じで問題を解くプログラムを書きます: 提出 その場で 自動的に正誤判定 対応言語(一部:コンテストによる): C++,
Java, C#, Go, Python (2系, 3系), Perl, Ruby, Haskell, Pascal, Javascript (Node.js), Scala, F#
・すべてのテストケースに正解 ・実行時間・メモリの制限内に実行が終わる 制限の例: ⇒ Accepted!! (= 正解) 競技プログラミング
#とは AC: Accepted(= 正解) 正誤はその場で判定されます:
競技プログラミング #とは 点数が高い方が 上位 ACではないと 最終提出時間に ペナルティ 同じ点数なら 最終提出の早い 方が上位
間違えた回数 コンテストの順位を競います: A B C D E
ここがたのしい • アルゴリズムの知識が増える ◦ 例:長さNの配列に、ある要素があるか探す ▪ 線形探索:O(N) ▪ 二分探索:(ソート)+ O(logN)
• N = 100,000 ⇒ logN ≒ 20 ◦ その他テクニック ▪ 貪欲法 ▪ 累積和 ▪ 動的計画法(DP) ▪ などなど……
ここがたのしい • レーティング ◦ コンテストの成績に応じて上下する https://jobs.atcoder.jp/info/recruit https://jobs.atcoder.jp/home
競プロを始めるには? 1. 「AtCoder」に登録しよう! (https://atcoder.jp/) ◦ 日本で開催、初心者が参加しやすい、解説もある 2. チュートリアルをやろう! ◦ 最初の関門:標準入出力
▪ 代表的なものはコード例があるので参考にすると良し ◦ その後は有志がまとめた問題集をやるのが良し ▪ https://atcoder.jp/contests/abs 3. コンテストに参加しよう! ◦ 初心者用のコンテスト(AtCoder Beginner Contest: ABC) に参加するのがおすすめ ▪ 次のABC(130): 6/16 (日) 21:00-22:40
競プロ楽しいよ!! みんなもやろう!!