Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ken Ogura
PDF, PPTX
7,686 views
Nazoki
about van Emde Boas tree @JOIkakisemi2012
Economy & Finance
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
Most read
8
/ 26
Most read
9
/ 26
Most read
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
PDF
プログラミングコンテストでのデータ構造
by
Takuya Akiba
PDF
Convex Hull Trick
by
HCPC: 北海道大学競技プログラミングサークル
PDF
直交領域探索
by
okuraofvegetable
PDF
AtCoder Regular Contest 039 解説
by
AtCoder Inc.
PDF
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
PDF
RMQ クエリ処理
by
HCPC: 北海道大学競技プログラミングサークル
PPTX
Palindromic tree
by
__math
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
プログラミングコンテストでのデータ構造
by
Takuya Akiba
Convex Hull Trick
by
HCPC: 北海道大学競技プログラミングサークル
直交領域探索
by
okuraofvegetable
AtCoder Regular Contest 039 解説
by
AtCoder Inc.
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
RMQ クエリ処理
by
HCPC: 北海道大学競技プログラミングサークル
Palindromic tree
by
__math
What's hot
PDF
Re永続データ構造が分からない人のためのスライド
by
Masaki Hara
PDF
最大流 (max flow)
by
HCPC: 北海道大学競技プログラミングサークル
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
by
Takuya Akiba
PDF
写像 12 相
by
HCPC: 北海道大学競技プログラミングサークル
PDF
様々な全域木問題
by
tmaehara
PDF
Rolling hash
by
HCPC: 北海道大学競技プログラミングサークル
PDF
指数時間アルゴリズムの最先端
by
Yoichi Iwata
PDF
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
PDF
全域木いろいろ
by
HCPC: 北海道大学競技プログラミングサークル
PDF
競技プログラミングにおけるコードの書き方とその利便性
by
Hibiki Yamashiro
PDF
目指せグラフマスター
by
HCPC: 北海道大学競技プログラミングサークル
PDF
abc027
by
AtCoder Inc.
PDF
AtCoder Beginner Contest 025 解説
by
AtCoder Inc.
PDF
AtCoder Regular Contest 018 解説
by
AtCoder Inc.
PDF
AtCoder Regular Contest 049 解説
by
AtCoder Inc.
PDF
Binary indexed tree
by
HCPC: 北海道大学競技プログラミングサークル
PDF
AtCoder Regular Contest 030 解説
by
AtCoder Inc.
PDF
AtCoder Regular Contest 023 解説
by
AtCoder Inc.
PPTX
2SAT(充足可能性問題)の解き方
by
Tsuneo Yoshioka
PDF
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
by
Kensuke Otsuki
Re永続データ構造が分からない人のためのスライド
by
Masaki Hara
最大流 (max flow)
by
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
by
Takuya Akiba
写像 12 相
by
HCPC: 北海道大学競技プログラミングサークル
様々な全域木問題
by
tmaehara
Rolling hash
by
HCPC: 北海道大学競技プログラミングサークル
指数時間アルゴリズムの最先端
by
Yoichi Iwata
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
全域木いろいろ
by
HCPC: 北海道大学競技プログラミングサークル
競技プログラミングにおけるコードの書き方とその利便性
by
Hibiki Yamashiro
目指せグラフマスター
by
HCPC: 北海道大学競技プログラミングサークル
abc027
by
AtCoder Inc.
AtCoder Beginner Contest 025 解説
by
AtCoder Inc.
AtCoder Regular Contest 018 解説
by
AtCoder Inc.
AtCoder Regular Contest 049 解説
by
AtCoder Inc.
Binary indexed tree
by
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 030 解説
by
AtCoder Inc.
AtCoder Regular Contest 023 解説
by
AtCoder Inc.
2SAT(充足可能性問題)の解き方
by
Tsuneo Yoshioka
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
by
Kensuke Otsuki
Viewers also liked
PDF
色々なダイクストラ高速化
by
yosupo
PDF
部内勉強会 数え上げの基礎
by
Kazuma Mikami
PDF
競技プログラミングでの線型方程式系
by
tmaehara
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
PDF
動的計画法
by
京大 マイコンクラブ
PDF
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
PDF
グラフと木
by
京大 マイコンクラブ
PDF
ARC#003D
by
nullmineral
PDF
文字列検索のいろいろ
by
Kazuma Mikami
PDF
計算量
by
Ken Ogura
PDF
素集合データ構造
by
京大 マイコンクラブ
PDF
ソーティングと貪欲法
by
京大 マイコンクラブ
PDF
最近のDQN
by
mooopan
PDF
How To Become A Rubyist
by
masayoshi takahashi
PDF
データ構造と全探索
by
京大 マイコンクラブ
PDF
計算量とオーダー
by
京大 マイコンクラブ
PPTX
競技プログラミングにおけるMajorization
by
skyaozora
PDF
セグツリーイメージ
by
Kazuma Mikami
PDF
パソコン甲子園 ケーキ屋
by
Kazuma Mikami
PPTX
Coqの公理
by
Masaki Hara
色々なダイクストラ高速化
by
yosupo
部内勉強会 数え上げの基礎
by
Kazuma Mikami
競技プログラミングでの線型方程式系
by
tmaehara
プログラムを高速化する話
by
京大 マイコンクラブ
動的計画法
by
京大 マイコンクラブ
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
グラフと木
by
京大 マイコンクラブ
ARC#003D
by
nullmineral
文字列検索のいろいろ
by
Kazuma Mikami
計算量
by
Ken Ogura
素集合データ構造
by
京大 マイコンクラブ
ソーティングと貪欲法
by
京大 マイコンクラブ
最近のDQN
by
mooopan
How To Become A Rubyist
by
masayoshi takahashi
データ構造と全探索
by
京大 マイコンクラブ
計算量とオーダー
by
京大 マイコンクラブ
競技プログラミングにおけるMajorization
by
skyaozora
セグツリーイメージ
by
Kazuma Mikami
パソコン甲子園 ケーキ屋
by
Kazuma Mikami
Coqの公理
by
Masaki Hara
Similar to Nazoki
PDF
ウェーブレット木の世界
by
Preferred Networks
PDF
蟻本輪講 データ構造
by
HCPC: 北海道大学競技プログラミングサークル
PPTX
純粋関数型アルゴリズム入門
by
Kimikazu Kato
KEY
Algebraic DP: 動的計画法を書きやすく
by
Hiromi Ishii
PDF
PFDS 5.5 Pairing heap
by
昌平 村山
PDF
PFI Christmas seminar 2009
by
Preferred Networks
PPT
アルゴリズムとデータ構造7
by
Kenta Hattori
PDF
Rのデータ構造とメモリ管理
by
Takeshi Arabiki
PDF
インターン講義8日目「データ構造」
by
Hatena::Engineering
PDF
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
by
Hiroshi Nakamura
PPTX
b木ノススメ
by
gotoloop
PDF
Ibisml2011 06-20
by
Yasuo Tabei
PPT
アルゴリズムとデータ構造8
by
Kenta Hattori
PDF
C++0x in programming competition
by
yak1ex
PPTX
平衡二分探索木の並行化
by
gotoloop
PDF
programming camp 2008, introduction of programming, algorithm
by
Hiro Yoshioka
ODP
J - 次の仕事
by
gotoloop
PDF
第22回アルゴリズム勉強会資料
by
Yuuki Ono
PDF
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
by
Kamiya Toshihiro
PDF
初めてのSTL
by
HCPC: 北海道大学競技プログラミングサークル
ウェーブレット木の世界
by
Preferred Networks
蟻本輪講 データ構造
by
HCPC: 北海道大学競技プログラミングサークル
純粋関数型アルゴリズム入門
by
Kimikazu Kato
Algebraic DP: 動的計画法を書きやすく
by
Hiromi Ishii
PFDS 5.5 Pairing heap
by
昌平 村山
PFI Christmas seminar 2009
by
Preferred Networks
アルゴリズムとデータ構造7
by
Kenta Hattori
Rのデータ構造とメモリ管理
by
Takeshi Arabiki
インターン講義8日目「データ構造」
by
Hatena::Engineering
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
by
Hiroshi Nakamura
b木ノススメ
by
gotoloop
Ibisml2011 06-20
by
Yasuo Tabei
アルゴリズムとデータ構造8
by
Kenta Hattori
C++0x in programming competition
by
yak1ex
平衡二分探索木の並行化
by
gotoloop
programming camp 2008, introduction of programming, algorithm
by
Hiro Yoshioka
J - 次の仕事
by
gotoloop
第22回アルゴリズム勉強会資料
by
Yuuki Ono
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
by
Kamiya Toshihiro
初めてのSTL
by
HCPC: 北海道大学競技プログラミングサークル
More from Ken Ogura
PDF
辺彩色
by
Ken Ogura
PDF
Amortize analysis of Deque with 2 Stack
by
Ken Ogura
PDF
Trianguler
by
Ken Ogura
PDF
Imo
by
Ken Ogura
PDF
かけざん
by
Ken Ogura
PDF
ハッキング実演
by
Ken Ogura
ODP
April2013
by
Ken Ogura
PDF
April2013
by
Ken Ogura
PDF
Jissou
by
Ken Ogura
PDF
Divisor
by
Ken Ogura
PDF
Mage
by
Ken Ogura
PDF
PC解体
by
Ken Ogura
PDF
Hairetu2
by
Ken Ogura
PDF
Moon
by
Ken Ogura
PDF
人間対Pc2
by
Ken Ogura
PDF
Npc april fool2014
by
Ken Ogura
PDF
Deque with Haskel
by
Ken Ogura
PDF
Shio dtm
by
Ken Ogura
PDF
Lunch
by
Ken Ogura
PDF
Cをやりましょう
by
Ken Ogura
辺彩色
by
Ken Ogura
Amortize analysis of Deque with 2 Stack
by
Ken Ogura
Trianguler
by
Ken Ogura
Imo
by
Ken Ogura
かけざん
by
Ken Ogura
ハッキング実演
by
Ken Ogura
April2013
by
Ken Ogura
April2013
by
Ken Ogura
Jissou
by
Ken Ogura
Divisor
by
Ken Ogura
Mage
by
Ken Ogura
PC解体
by
Ken Ogura
Hairetu2
by
Ken Ogura
Moon
by
Ken Ogura
人間対Pc2
by
Ken Ogura
Npc april fool2014
by
Ken Ogura
Deque with Haskel
by
Ken Ogura
Shio dtm
by
Ken Ogura
Lunch
by
Ken Ogura
Cをやりましょう
by
Ken Ogura
Nazoki
1.
van Emde Boas
Trees 〜明日から使えない謎の速い木〜 catupper
2.
van Emde Boas
Treesとは ● 読み:ばん えんで ぼーす ● 以下「謎木」 ● 集合(set) ● 非常に速い ● あらゆる操作がO(lg lg u) ● 実装が重い
3.
機能要件 ●
MAXIMUM 最大値 ● MINIMUM 最小値 ● MEMBER 有無 ● INSERT 挿入 ● DELETE 削除 ● SUCCESSOR それより大きい最小の要素 ● PREDECESSOR それより小さい最大の要素
4.
平衡二分探索木 ●
葉にビットを立てて有無を表現 ● 親は全子孫のORの結果を保持(Summary) 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 2 3 4 5 6 7
5.
各オーダー ●
MAXIMUM log u ● MINIMUM log u ● MEMBER log u ● INSERT log u ● DELETE log u ● SUCCESSOR log u ● PREDCESSOR log u ● 木の深さに依存
6.
深さを log log u
にしたい
7.
平方兵法 ●
サイズu の親は サイズ√uの子を√u個持つ ● 最小サイズは2 ● 深さはlog log u サイズ256 サイズ4 サイズ4 サイズ4 サイズ4 サイズ2 サイズ2
8.
各ノードのデータ ●
サイズuのノード サイズ U 最大値 max 最小値 min Cluster ● 最大値 Summary 木 木 木 木 木 木 ● 最小値 ● 子へのポインタ ● Summary – 各子に対する そのノードとその子孫のOR値
9.
全体図
10.
各オペレーションの オーダー
11.
MIN,MAX,MEMBER ●
MIN、MAX – 子孫の最大値と最小値を各親が持ってる – O(1) ● MEMBER – 該当箇所へ降りて行って確認するだけ – 処理数は深さ分 – O(log log u)
12.
SUCCESSOR,PREDCESSOR ●
SUCCESSOR – 木を下りながら – minより小さくなったらminを返す – maxより大きくなったら次の兄弟のminを返す – 次の兄弟はsummaryからSUCCESSORで探す – 処理数は深さ分 – O(log log u) ● PREDCESSOR – 逆も然り
13.
INSERT ●
INSERT – 該当場所へ向かって木を降りて行って – minもmaxも未定義だったら両方に入れて summaryを更新して終わる – minより小さかったら値を交換して再帰続行 – maxより大きかったらmaxを更新 – 処理数は深さ分 – O(log log u)
14.
DELETE ●
DELETE – 該当箇所に向かって降りていく – minとmaxが等しかったら削除して終了 – minと等しかったらsummaryのminのminで更新 – maxと等しかったらsummaryのmaxのmaxで更新 – いた木のminとmaxが等しかったらsummary更新 – O(log log u)
15.
超ややこしい
16.
要するに ●
maxとminで要素数が0か1か2以上かを判断 – Summaryの更新が必要かを判断 ● どの要素もいずれかの木のmin – min maxを中心にオペレーションを回せる ● Summaryはminを扱わない – 削除のとき更新が楽になる ● 要素数が2未満ならそこで再帰終了 – 必要メモリが減る
17.
空間計算量 ● 扱う数字の範囲分(u)必要 ● よってO(u) ●
Int型なら32bit ● 大きい
18.
使えない?
19.
工夫 ● オペレーションは空の木の子に行かない ● 空の木はINSERT時以外更新されない ●
INSERT時に動的につくればええやん ● 木の数は要素数(n)を超えない ● よって空間計算量O(n)
20.
やったねたえちゃん 二分ヒープと同じ
21.
まとめ ●
ヒープ並のメモリ使用量でO(log log u)で同じ機能 をサポート ● 実装 – ややこしいオペレーション関数 – ややこしい構造 – 動的ハッシュ – スクリプト言語に向いてない – デバッグ大変でした
22.
まとめ 使えるまでメモリを削減するには
動的ハッシュが必要
23.
結論 実装が重い!
24.
結論 実装できんかった
><
25.
結論 謎木速いんだけど 微妙にバグる
26.
ご清聴ありがとうございました
Download