SlideShare a Scribd company logo
1 of 42
Download to read offline
深さ優先探索による
塗りつぶし
2015/6/6 1
深さ優先探索とは
探索とは
• 探索とは,可能性を調べながら,解を探す方法です
深さ優先探索とは
• 最も基礎的な探索の方法です
本スライドで学ぶこと
• 深さ優先探索による「塗りつぶし」
• 深さ優先探索の再帰関数による実装
• 深さ優先探索のスタックによる実装
2015/6/6 2
©AtCoder Inc. All rights reserved. 3
問題
2015/6/6 3
問題
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.#.#.#.
#.#.#.#.#.
#.#.#.#.#.
#.....#...
2015/6/6 4
入力
• 右図のような迷路
• . が通れる
出力
• s から g までいけるか?
例
2015/6/6 5
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.###.#.
#.#.#.#.#.
###.#.#.#.
#.....#...
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.#.#.#.
#.#.#.#.#.
#.#.#.#.#.
#.....#...
↑行ける ↑行けない
©AtCoder Inc. All rights reserved. 6
塗りつぶし
Flood-fill
2015/6/6 6
問題を解くアプローチ
問題の解き方
1. s から行ける場所を全部調べる
2. g に行けてれば “yes”,行けなかったら “no”
「s から行ける場所を全部調べる」
• これを塗りつぶし (flood-fill) と呼びます
• とても良く使います
2015/6/6 7
これのイメージ
塗りつぶしの例
2015/6/6 8
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.###.#.
#.#.#.#.#.
###.#.#.#.
#.....#...
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.###.#.
#.#.#.#.#.
###.#.#.#.
#.....#...
s から行ける領域 ↑
©AtCoder Inc. All rights reserved. 9
深さ優先探索による
塗りつぶし
2015/6/6 9
深さ優先探索による塗りつぶし
基本的な考え方
• 今居るところから隣に行こうとしてみる
• まだ行ってなかったら行く
ちゃんと塗りつぶすために
• 全箇所から 4 方向への移動を試しつくす
• そのために,試しつくしてない場所を覚えてお
き,戻ってくる
2015/6/6 10
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 11
######.#.##
######.#.##
#s.........
######.####
######.####
最初は s からスタート
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 12
######.#.##
######.#.##
#s.........
######.####
######.####
右隣へ移動(赤の矢印は s からの経路)
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 13
######.#.##
######.#.##
#s.........
######.####
######.####
右隣へ移動(赤の矢印は s からの経路)
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 14
######.#.##
######.#.##
#s.........
######.####
######.####
右隣へ移動(赤の矢印は s からの経路)
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 15
######.#.##
######.#.##
#s.........
######.####
######.####
分かれ道だけど,とりあえず気にせず進む
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 16
######.#.##
######.#.##
#s.........
######.####
######.####
分かれ道だけど,とりあえず気にせず進む
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 17
######.#.##
######.#.##
#s.........
######.####
######.####
分かれ道だけど,とりあえず気にせず進む
深さ優先探索による塗りつぶし
基本:今いる所の隣を塗る
2015/6/6 18
######.#.##
######.#.##
#s.........
######.####
######.####
分かれ道だけど,とりあえず気にせず進む
深さ優先探索による塗りつぶし
進めるところが無くなったら戻る
2015/6/6 19
######.#.##
######.#.##
#s.........
######.####
######.####
もう進めるところがない!
深さ優先探索による塗りつぶし
進めるところが無くなったら戻る
2015/6/6 20
######.#.##
######.#.##
#s.........
######.####
######.####
なので戻ります
深さ優先探索による塗りつぶし
進めるところが無くなったら戻る
2015/6/6 21
######.#.##
######.#.##
#s.........
######.####
######.####
また戻ります
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 22
######.#.##
######.#.##
#s.........
######.####
######.####
ここはまだ上に行ってない!
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 23
######.#.##
######.#.##
#s.........
######.####
######.####
なので今度は上に行ってみます
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 24
######.#.##
######.#.##
#s.........
######.####
######.####
一番上まで行ったらまた戻ります
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 25
######.#.##
######.#.##
#s.........
######.####
######.####
一番上まで行ったらまた戻ります
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 26
######.#.##
######.#.##
#s.........
######.####
######.####
一番上まで行ったらまた戻ります
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 27
######.#.##
######.#.##
#s.........
######.####
######.####
もう行く所がないのでさらに戻ります
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 28
######.#.##
######.#.##
#s.........
######.####
######.####
もう一個戻って
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 29
######.#.##
######.#.##
#s.........
######.####
######.####
上と下も行って帰ってきて(省略)
深さ優先探索による塗りつぶし
戻ってきて別のところに行けたらそっちに行く
2015/6/6 30
######.#.##
######.#.##
#s.........
######.####
######.####
s まで戻ったら完了!
余談:「深さ優先探索」?
何故これが深さ優先探索?
まだ 4 方向を試し尽くしていない場所の中で,一
番「深い」場所から探索を広げるから
• 試し尽くしていない場所 = 青 or 赤
• 深い = s から遠い
• 一番「深い」場所 = 赤
今後紹介する「幅優先探索」等との
対比でよくわかると思います
2015/6/6 31
######.#.##
######.#.##
#s.........
######.####
######.####
©AtCoder Inc. All rights reserved. 32
再帰関数による
深さ優先探索
2015/6/6 32
再帰関数による深さ優先探索
考え方
• 位置を引数にした再帰関数を使う
• 自分から 4 方向への呼び出しを行う
何故これで深さ優先探索になる?
• 再帰関数なので呼び出した後戻ってくる
• 戻ってきて違う方向へまた呼び出す
2015/6/6 33
擬似コードでの例
関数 search(x, y) {
if (場所 (x, y) が壁か迷路の外) return
if (既に (x, y) に一度到達している) return
(x, y) に到達したということを記録
// 4 方向を試す
search(x + 1, y) // 右
search(x - 1, y) // 左
search(x, y + 1) // 下
search(x, y – 1) // 上
}
2015/6/6 34
関数 search をスタートの
座標から呼び出す
再帰関数なので,1 つの方向を試し終わった
後,帰ってきて次の方向を試す
→ 全ての位置から 4 方向を試し尽くせる
擬似コードでの例
関数 search(x, y) {
if (場所 (x, y) が壁か迷路の外) return
if (既に (x, y) に一度到達している) return
(x, y) に到達したということを記録
// 4 方向を試す
search(x + 1, y) // 右
search(x - 1, y) // 左
search(x, y + 1) // 下
search(x, y – 1) // 上
}
2015/6/6 35
######.#.##
######.#.##
#s.........
######.####
######.####
• 色が付いている所 = 「到達した」と記録されている所
• 青 = 再帰関数で呼び出し中の(後で戻ってくる)場所
• 赤 = 再帰関数で今訪れている場所
• 紫 = 既に再帰関数から抜けた(もう戻ってこない)場所
C での例
int W, H; // 横幅と縦幅
char maze[MAX_W][MAX_H]; // 迷路
bool reached[MAX_W][MAX_H]; // 到達できる?
void search(int x, int y) {
// 迷路の外側か壁の場合は何もしない
if (x < 0 || W <= x || y < 0 || H <= y || maze[x][y] == ‘#’) return;
// 以前に到達していたら何もしない
if (reached[x][y]) return;
reached[x][y] = true; // 到達したよ
// 4 方向を試す
search(x + 1, y); // 右
search(x - 1, y); // 左
search(x, y + 1); // 下
search(x, y – 1); // 上
}
2015/6/6 36
関数 search をスタートの
座標から呼び出す
©AtCoder Inc. All rights reserved. 37
スタックによる
深さ優先探索
2015/6/6 37
スタックによる深さ優先探索
考え方
• 試すべき位置をスタックで管理
• 再帰呼び出しの代わりに,スタックへ push
アルゴリズム
• 最初はスタート地点をスタックに投入
• 繰り返す:スタックから位置を取り出して,まだ訪れて
いない隣があれば push
今回は詳細な解説は省略します.
今後アップロード予定の幅優先探索の解説にて,深さ優先探索のこの
方針での実装についても言及します.
2015/6/6 38
スタックによる深さ優先探索
• 再帰関数が深くなりすぎると「スタックオーバーフ
ロー」が起こって実行時エラーになることがあります.
• スタックを用いたこっちの実装法ならば回避できます.
2015/6/6 39
©AtCoder Inc. All rights reserved. 40
おわりに
2015/6/6 40
塗りつぶし
塗りつぶしの他の出番
• 行ける領域の大きさを計算する
• 連結なグループの個数を数える
• などなど……
その他の塗りつぶしアルゴリズム
• 今回は深さ優先探索による方法を紹介
• 塗りつぶしを行う方法は多数存在
詳しくは以下を参照
http://en.wikipedia.org/wiki/Flood_fill
2015/6/6 41
s.........
#########.
#.......#.
#..####.#.
##....#.#.
#####.#.#.
g.#.###.#.
#.#.#.#.#.
###.#.#.#.
#.....#...
深さ優先探索
深さ優先探索の他の出番
• 組合せを全て試す全探索
• その高速化である枝刈り探索
深さ以外を優先する探索
• 幅優先探索
• 最良優先探索 (→ Dijkstra / Prim のアルゴリズム)
塗りつぶしは幅優先探索などでやっても正しく行える.
深さ優先探索を使う利点は,再帰関数で簡単に書けること.
2015/6/6 42

More Related Content

What's hot

最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドMasaki Hara
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Keigo Nishida
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15Shuyo Nakatani
 
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説AtCoder Inc.
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential EquationsDeep Learning JP
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングAtsushi KOMIYA
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Inc.
 

What's hot (20)

Rolling hash
Rolling hashRolling hash
Rolling hash
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
 
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
 
最大流 (max flow)
最大流 (max flow)最大流 (max flow)
最大流 (max flow)
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
 
双対性
双対性双対性
双対性
 
グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜グラフネットワーク〜フロー&カット〜
グラフネットワーク〜フロー&カット〜
 

Viewers also liked

高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換AtCoder Inc.
 
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
 
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説Takuya Akiba
 
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティスUnity Technologies Japan K.K.
 
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
An Internal of LINQ to Objects
An Internal of LINQ to ObjectsAn Internal of LINQ to Objects
An Internal of LINQ to ObjectsYoshifumi Kawai
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法nitoyon
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法Takuya Akiba
 
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
幾何コンテスト2013
幾何コンテスト2013幾何コンテスト2013
幾何コンテスト2013Naoto Mizuno
 
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Inc.
 
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組みAtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組みAtCoder Inc.
 
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説AtCoder Inc.
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsTakuya Akiba
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-Unity Technologies Japan K.K.
 

Viewers also liked (19)

高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
 
TCO2017R1
TCO2017R1TCO2017R1
TCO2017R1
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
 
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス
【Unite 2017 Tokyo】パフォーマンス向上のためのスクリプトのベストプラクティス
 
全探索
全探索全探索
全探索
 
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
 
An Internal of LINQ to Objects
An Internal of LINQ to ObjectsAn Internal of LINQ to Objects
An Internal of LINQ to Objects
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
 
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
 
幾何コンテスト2013
幾何コンテスト2013幾何コンテスト2013
幾何コンテスト2013
 
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
 
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組みAtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
 
素集合データ構造
素集合データ構造素集合データ構造
素集合データ構造
 
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
 

More from AtCoder Inc.

Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2AtCoder Inc.
 
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説AtCoder Inc.
 
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説AtCoder Inc.
 
Chokudai Contest 001
Chokudai Contest 001Chokudai Contest 001
Chokudai Contest 001AtCoder Inc.
 
AtCoder Regular Contest 048
AtCoder Regular Contest 048AtCoder Regular Contest 048
AtCoder Regular Contest 048AtCoder Inc.
 
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説AtCoder Inc.
 
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説AtCoder Inc.
 
DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説AtCoder Inc.
 
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説AtCoder Inc.
 
AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Inc.
 
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説AtCoder Inc.
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説AtCoder Inc.
 
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Inc.
 
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Inc.
 
CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説AtCoder Inc.
 
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説AtCoder Inc.
 
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説AtCoder Inc.
 

More from AtCoder Inc. (20)

Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2
 
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
 
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
 
Chokudai Contest 001
Chokudai Contest 001Chokudai Contest 001
Chokudai Contest 001
 
AtCoder Regular Contest 048
AtCoder Regular Contest 048AtCoder Regular Contest 048
AtCoder Regular Contest 048
 
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
 
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
 
DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
 
arc047
arc047arc047
arc047
 
abc032
abc032abc032
abc032
 
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
 
AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046
 
abc031
abc031abc031
abc031
 
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
 
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
 
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
 
CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説
 
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
 
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
 

Recently uploaded

UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Recently uploaded (6)

UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

深さ優先探索による塗りつぶし