Submit Search
Upload
競技プログラミング頻出アルゴリズム攻略
•
52 likes
•
25,441 views
K Moneto
Follow
主に大学生の競技プログラミング初心者に向けて、最低限知っておくべきアルゴリズムを紹介しております。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 63
Download now
Download to read offline
Recommended
Chokudai search
Chokudai search
AtCoder Inc.
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
Takuya Akiba
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
sleepy_yoshi
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
Recommended
Chokudai search
Chokudai search
AtCoder Inc.
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
Takuya Akiba
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
sleepy_yoshi
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
智之 村上
様々な全域木問題
様々な全域木問題
tmaehara
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
協調フィルタリング入門
協調フィルタリング入門
hoxo_m
グラフと木
グラフと木
京大 マイコンクラブ
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
京大 マイコンクラブ
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
Shuyo Nakatani
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
More Related Content
What's hot
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
智之 村上
様々な全域木問題
様々な全域木問題
tmaehara
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
協調フィルタリング入門
協調フィルタリング入門
hoxo_m
グラフと木
グラフと木
京大 マイコンクラブ
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
京大 マイコンクラブ
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
Shuyo Nakatani
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
What's hot
(20)
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
様々な全域木問題
様々な全域木問題
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
色々なダイクストラ高速化
色々なダイクストラ高速化
指数時間アルゴリズム入門
指数時間アルゴリズム入門
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
協調フィルタリング入門
協調フィルタリング入門
グラフと木
グラフと木
明日使えないすごいビット演算
明日使えないすごいビット演算
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
Convex Hull Trick
Convex Hull Trick
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
最大流 (max flow)
最大流 (max flow)
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Recently uploaded
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Recently uploaded
(9)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
競技プログラミング頻出アルゴリズム攻略
1.
競技プログラミング 頻出アルゴリズム攻略 2016.01.13 Author: Moneto (MATYLA-PG,
@Moneto_Tk) 10
2.
whoami •@Moneto_Tk •JOI出場経験あり •只の凡人老兵
3.
whoami • • • • •
4.
whoami • • • •
5.
whoami • • • • •
6.
競技プログラミングで 必要な知識
7.
アルゴリズムの知識 著名な問題やその定石 「変な」テクニック
8.
「変な」テクニック http://ichyo.jp/posts/2014-12-15-advent-calender/ • • •
9.
アルゴリズムの知識 著名な問題やその定石
10.
競技プログラミングで 必要なアルゴリズムの知識 • • • •
11.
競技プログラミングで 必要なアルゴリズムの知識 • • •
12.
今日の内容は その中でも基本的なもの
13.
DP Dynamic Programming 動的計画法
14.
BFS Breadth First Search 幅優先探索
15.
DFS Depth First Search 深さ優先探索
16.
取り扱う基準 • • •
17.
DP Dynamic Programming 動的計画法
18.
DP • • • •
19.
DP • • • •
20.
DP • • • • •
21.
DP • • • • •
22.
DP • • • • •
23.
Tips intの値を一瞬でも超えることが 分かった時点で 絶対にlong longを使おう 実力者でも気をつけるべきミス
24.
DP • • • • •
25.
Fib(n) • public static Int64
fib_rec(int n) { if (n == 0) return 0; else if (n == 1) return 1; return fib_rec(n - 1) + fib_rec(n - 2); }
26.
Fib(n) • public static Int64
fib_rec_m(int n) { if (n == 0) return 0; else if (n == 1) return 1; else if (table[n] != 0) return table[n]; else return table[n] = fib_rec_m(n - 1) + fib_rec_m(n - 2); }
27.
Fib(n) • public static Int64
fib_dp(int n) { int[] dp = new int[n]; dp[0] = 1; dp[1] = 1; for (int i = 0; i < n - 2; i++) { dp[i + 2] = dp[i] + dp[i + 1]; } return dp[n - 1]; } • • •
28.
Fib(n) 0 1 • •
29.
Fib(n) 0 1 1 • •
30.
Fib(n) 0 1 1
2 • • •
31.
Fib(n) 0 1 1
2 3 • • •
32.
Fib(n) 0 1 1
2 3 5 8 13 21 34 • • •
33.
BFS Breadth First Search 幅優先探索
34.
BFS • • • •
35.
BFS 1
36.
BFS 1 子ノードが見つかったら キューに格納
37.
BFS 1 2 3 子ノードが見つかったら キューに格納
38.
BFS 1 2 3 4
5 6 7
39.
Best-First • • • •
40.
Best-First • • • • •
41.
RTS http://neetpia.sakura.ne.jp/works/GensouSenryakutan/1.jpg
42.
RTS http://neetpia.sakura.ne.jp/works/GensouSenryakutan/1.jpg 行き先を指定すると 最適な移動経路を計算し その通りに移動してくれる 考慮するべき条件 高低差(崖は迂回する) 建造物、森林、河川など
43.
DFS Depth First Search 深さ優先探索
44.
DFS • • • •
45.
DFS 1
46.
DFS 1 2 分岐が見つかったら スタックに格納
47.
DFS 1 2 3 分岐が見つかったら スタックに格納
48.
DFS 1 2 3 4 分岐が見つかったら スタックに格納
49.
DFS 1 2 3 4 5
スタックの処理順番 「先入れ後出し」
50.
DFS 1 2 7 3
6 4 5
51.
根底の考え方は どれも簡単
52.
手頃な練習 • • • • •
53.
Tips • • •
54.
手頃な練習 • • • • •
55.
手頃な練習 • • • • •
56.
Tips • • •
57.
ICPCの国内強豪は JOI出身者が多い
58.
「JOI出身者」のレベルが いかに高いか
59.
ちょっと • •
60.
もうちょっと • • •
61.
更にもうちょっと • • • •
62.
というわけで • • • •
63.
お疲れ様でした
Download now