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
@ジュジュ
June 29, 2018
Technology
0
68
Essence of Competitive Programming
@ジュジュ
June 29, 2018
Tweet
Share
More Decks by @ジュジュ
See All by @ジュジュ
チーム分割においていかれたアラートをチームで責任を持てる形に再設計した
juju62q
0
140
ボトムアップでSLOを導入 2年半運用して分かった失敗と変化
juju62q
2
1k
Firecracker Snapshottingを調べてみた
juju62q
1
550
SLOを活用した技術的改善
juju62q
10
10k
IAM Role for Pods and Instance Meta Data Service
juju62q
1
1.5k
telepresence handson
juju62q
2
5k
Wanna Use Vitess in Orientation
juju62q
6
1.3k
machine learning with rancher and K8s on prem
juju62q
5
440
docker-handson-for-researcher
juju62q
3
310
Other Decks in Technology
See All in Technology
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
280
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
210
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
470
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
2
1.6k
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
120
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
0
140
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
5
840
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
330
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
0
160
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
340
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
370
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
Featured
See All Featured
Bash Introduction
62gerente
614
210k
RailsConf 2023
tenderlove
30
1.1k
Building Applications with DynamoDB
mza
95
6.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for humans not robots
tammielis
253
25k
For a Future-Friendly Web
brad_frost
179
9.8k
Music & Morning Musume
bryan
46
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
200
Statistics for Hackers
jakevdp
799
220k
Agile that works and the tools we love
rasmusluckow
329
21k
Docker and Python
trallard
44
3.4k
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