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
Essence of Competitive Programming
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
@ジュジュ
June 29, 2018
Technology
0
80
Essence of Competitive Programming
@ジュジュ
June 29, 2018
Tweet
Share
More Decks by @ジュジュ
See All by @ジュジュ
チーム分割においていかれたアラートをチームで責任を持てる形に再設計した
juju62q
0
190
ボトムアップでSLOを導入 2年半運用して分かった失敗と変化
juju62q
2
1.2k
Firecracker Snapshottingを調べてみた
juju62q
1
620
SLOを活用した技術的改善
juju62q
10
15k
IAM Role for Pods and Instance Meta Data Service
juju62q
1
1.6k
telepresence handson
juju62q
2
5.3k
Wanna Use Vitess in Orientation
juju62q
6
1.4k
machine learning with rancher and K8s on prem
juju62q
5
470
docker-handson-for-researcher
juju62q
3
340
Other Decks in Technology
See All in Technology
【Λ(らむだ)】最近のアプデ情報 / RPALT20260318
lambda
0
150
Phase12_総括_自走化
overflowinc
0
1k
Phase09_自動化_仕組み化
overflowinc
0
1.2k
Phase08_クイックウィン実装
overflowinc
0
1.2k
Phase04_ターミナル基礎
overflowinc
0
1.6k
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
670
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
1
1.2k
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
220
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
860
Phase03_ドキュメント管理
overflowinc
0
1.8k
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
180
Phase06_ClaudeCode実践
overflowinc
0
1.4k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
ラッコキーワード サービス紹介資料
rakko
1
2.7M
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Music & Morning Musume
bryan
47
7.1k
Transcript
競技プログラミングのエッセンス 2018/06/30 競プロ@芸工 岡野兼也
自己紹介 基本情報 • 岡野兼也 / @ジュジュ • 名古屋大学4年 • OthloTech運営
• 株式会社キスモ インフラエンジニア 好きな技術 仮想化、コンテナ、DevOps、IaC 趣味 登山、自転車、キャンプ、Kubernetes
競技プログラミングって何?
入力から問題で指定された出力を作る プログラムを速く、高精度に記述する競技会
実装するプログラムは十分に高速で、 大きいメモリを利用しないということが求められる
処理を考える考察力 考えた処理を実現する実装力
競技プログラミングで大事なキーワード アルゴリズム データ構造
アルゴリズムとは 決まった解を求めるために 有限回の試行で終了する手順
Q. これはアルゴリズム? トランプを順に並べる場合を例にすると、次のようになる。 1. 元の山のカードのうち値が1番小さいものを1つ選ぶ。 2. これを別の場所に並べる。 3. 山のカードが無いことを確認する、もし存在するなら1から3ま での手順を繰り返す。
Q. これはアルゴリズム? トランプを順に並べる場合を例にすると、次のようになる。 1. トランプ52枚の束を放り投げて、ばらばらにする。 2. 1枚ずつ無作為にすべてを拾い集める。 3. ソートされているか確認する。もしソート済みでなければ、1か ら3までの手順を繰り返す。
データ構造とは コンピュータプログラムで データを扱うための形式
データ構造とは なんかいろいろある。 けど割愛。 とりあえず今日は多分配列くらいしか 使わない気がする。 キーワード:リスト、連想配列、集合、木、グラフ
それではとりあえずやってみよう。 答えは最後に解説するよ! 5分考えて何もでなかったら聞いてください! 問題 : AtCoder Beginners Selection