Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
競技プログラミング入門
Search
Yuki Okuda
June 24, 2019
Programming
1
300
競技プログラミング入門
競技プログラミングやろうぜ会のスライド
Yuki Okuda
June 24, 2019
Tweet
Share
More Decks by Yuki Okuda
See All by Yuki Okuda
コードをBlackにしよう
ikura1
1
2.5k
Other Decks in Programming
See All in Programming
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
1k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
190
TipKitTips
ktcryomm
0
170
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
970
Unity6.3 AudioUpdate
cova8bitdots
0
130
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
400
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
570
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
450
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
560
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
340
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
290
OTP を自動で入力する裏技
megabitsenmzq
0
110
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Marketing to machines
jonoalderson
1
5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Mind Mapping
helmedeiros
PRO
1
120
The browser strikes back
jonoalderson
0
800
Believing is Seeing
oripsolob
1
84
4 Signs Your Business is Dying
shpigford
187
22k
New Earth Scene 8
popppiees
1
1.7k
Ethics towards AI in product and experience design
skipperchong
2
220
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Transcript
競技プログラミング入門 やってみようぜ!
はじめに • 競技プログラミング ◦ たまに聞くことがある ◦ 聞いたことはやったことはない • 楽しいのでやってみよう!っていう会です
流れ • 競技プログラミングとは • コンテストをやってみよう • 解説 • おわり
競技プログラミングとは
競技プログラミングとは • プログラミングコンテストの一種 • 問題をプログラムを書いて解くこと • 速く問題を解くほど点数が高い
競技プログラミングの良いところ • 計算量を意識するようになる • 正確に書く力が身に付く • アルゴリズムの勉強になる
計算量を意識するようになる • 問題の処理時間に制限があります ◦ だいたい2秒とか • 制限内で解けないとペナルティがありまーす ◦ 計算量がわからないと、提出しにくい ◦
ペナルティで点数下げたくない… • 覚えるしかないよなぁ?
速く正確に書く力が身に付く • 間違えるとペナルティ ◦ 速く解くとボーナス • 速く間違えずに解くのがベスト ◦ 脳内デバック力が求められている
アルゴリズムの勉強になる • 問題に時間の制限がある ◦ 組み合わせを一個ずつ確認はできない • 参加しているうちにアルゴリズムと出会う ◦ 解答見たり、聞いたりするとね ◦
自然に覚える
競技プログラミングをやるには • AtCoder • TopCoder • Codeforces
やっぱりAtCoderだね! • みんな大好き!日本語! • 初心者向けのコンテストがやってるよ! ◦ だいたい週1で開催! ◦ AtCoder Beginner
Contest(ABC) • 解説動画や資料もあるよ!
初心者向けコンテストの難易度 • A問題 ◦ 言語が書ける • B問題 ◦ 全探索が書ける •
C問題 ◦ アルゴリズムを使って書ける
A問題の例題 X, Aは 0以上9以下の整数です。 XがA未満の時0, A以上の時 10を出力してください。 入力: X A
例: 1 4
例題の解答 X, A =[int(i) for i in input().split()] print((X >=
A) * 10)
例題の解答(JS) function main(input) { input = input.split(" "); x =
input[0]; a = input[1]; console.log(x < a ? 0 : 10); } main(require("fs").readFileSync("/dev/stdin", "utf8"));
最速解答時間はいくつ?
はい、最速解答は19秒です
競技プログラミングを完全に理解した PythonBeginners沖縄 22 https://github.com/bouch20/PyBeg i_Okinawa22
さっそくやってみよう! -コンテストに参加してみよう-
じゃけん、AtCoder登録しましょうねー https://atcoder.jp
AtCoder登録しましょうねー
バーチャルコンテストでやります • 非公式サービス • 過去問でコンテストが開ける
ということで登録しましょう https://not-522.appspot.com/
ということで登録しましょう
コンテストページにアクセス コンテストに参加しませう https://not-522.appspot.com/contest/5148318244012032
問題解くんご 問題一覧と順位が表示されるよ Roundingを解くべし
問題ページだよ
下にコード提出用フォームあるよ
下にコード提出用フォームあるよ 言語選ぶ
下にコード提出用フォームあるよ コード書く(貼る)
下にコード提出用フォームあるよ 提出だー!
え、実行確認したい? こ↑こ↓
あとは提出時とだいたい同じ テストしたい入力いれる 下の方に出力フォームと実行ボタンあるデス
提出一覧だよ
提出結果だよ AC: 正解 WA: 不正解 TLE: 実行時間超過
提出したらこうなる
ではやってみましょう
解説
次のAtCoder Beginner Contest 132 6月29日 21時に開催!! AtCoder Beginner Contest 132