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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuki Okuda
June 24, 2019
Programming
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
競技プログラミング入門
競技プログラミングやろうぜ会のスライド
Yuki Okuda
June 24, 2019
More Decks by Yuki Okuda
See All by Yuki Okuda
コードをBlackにしよう
ikura1
1
2.5k
Other Decks in Programming
See All in Programming
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
130
Foundation Models frameworkで画像分析
ryodeveloper
1
420
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
260
yield再入門 #phpcon
o0h
PRO
0
870
AIが無かった頃の素敵な出会いの話
codmoninc
1
350
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
FDEが実現するAI駆動経営の現在地
gonta
2
250
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.4k
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
450
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
130
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
450
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Building an army of robots
kneath
306
46k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
440
Technical Leadership for Architectural Decision Making
baasie
3
460
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
The Cult of Friendly URLs
andyhume
79
7k
How to train your dragon (web standard)
notwaldorf
97
6.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Building the Perfect Custom Keyboard
takai
2
830
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