D: 壊れかけのヒープ 問題案: 稲葉.

Slides:



Advertisements
Similar presentations
Problem A : Everlasting...? 原案 : 泉 模範解答 : 黄・野田 解説 : 野田.
Advertisements

算法数理工学 第 7 回 定兼 邦彦 1. グラフ グラフ G = (V, E) –V: 頂点 ( 節点 ) 集合 {1,2,…,n} –E: 枝集合, E  V  V = {(u,v) | u, v  V} 無向グラフ – 枝は両方向にたどれる 有向グラフ – 枝 (u,v) は u から.
原案 : 野田 解答 : 野田・山 口 問題文 : 野田 PROBLEM E: PSYCHIC ACCELERATOR ~ とある超能力の物体加速器~
模擬国内予選2013 Problem F テトラ姫のパズル 原案:須藤 解答:大友、須藤 解説:須藤.
J: Magical Switches JAG 模擬地区予選 2013 原案:保坂 解答:保坂・楠本 解説:保坂.
ICPC夏合宿09 Day3 Problem D : Luigi‘s Tavern -ルイージの酒場-
簡潔データ構造 国立情報学研究所 定兼 邦彦.
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ヒープソートの演習 第13回.
アルゴリズムとデータ構造 第8回 ソート(3).
第11回 整列 ~ バケットソート,基数ソート,ヒープソート~
Intelligent Circular Perfect Cleaner(ICPC)
問題作成・解説: 北村 解答作成協力: 小西・松本
Problem G : Entangled Tree
プログラミング基礎I(再) 山元進.
2章 データ構造.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
Problem H ねこ鍋改造計画(仮) 秋葉 拓哉.
原案:阿部 担当:福澤, 笠原 英訳:寺島 解説:福澤
アルゴリズムとデータ構造 第6回演習解答 2015/11/18実施 アルゴリズムとデータ構造 2015.
情報知能学科「アルゴリズムとデータ構造」
一般化マクマホン立方体パズルの 問題例生成
C言語 配列 2016年 吉田研究室.
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
文字化けの背景を知る.
模擬国内予選2014 Problem C 壊れた暗号生成器
2013年度模擬アジア地区予選 Problem E: Putter
Problem D: King Slime ~キングスライム~
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
Problem F Two-finger Programming
ヒープソートの復習.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
原案・解説 : 野田 解答 : 野田・吉田 Problem D Futon ~布団~.
A First Course in Combinatorial Optimization Chapter 3(前半)
文字化けの背景を知る.
文字化けの背景を知る.
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
第9回 優先度つき待ち行列,ヒープ,二分探索木
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 4 木構造とヒープ.
プログラムの基本構造と 構造化チャート(PAD)
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
情報知能学科「アルゴリズムとデータ構造」
第16章 動的計画法 アルゴリズムイントロダクション.
第9回 優先度つき待ち行列,ヒープ,二分探索木
短い部分文字列の ミスマッチトレランスを 高速計算するアルゴリズム
ハフマン符号長の効率的な求め方.
全体ミーティング (5/23) 村田雅之.
アルゴリズムとデータ構造 2012年7月2日
5.チューリングマシンと計算.
アルゴリズムとデータ構造 2011年6月16日
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
ヒープソートの復習 第12回.
アルゴリズムとデータ構造 2013年7月2日
ソートのプログラムの流れ 配列の中身を小さい順に並び替える a[1],a[2],…a[n]の値を順に出力する
平面走査法を使った 一般線分の 交点列挙アルゴリズム
ヒープソート.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
ヒープソート.
アルゴリズムとデータ構造 2013年6月20日
/24 というアドレスブロックにおいて ネットワーク長 28 のアドレスはいくつ取るこ とができるか
参考:大きい要素の処理.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
情報処理Ⅱ 第8回:2003年12月9日(火).
Presentation transcript:

D: 壊れかけのヒープ 問題案: 稲葉

問題 与えられた配列を接尾辞として持つような、 最小ヒープ木(子より親が小さい値を持つ木)を表現した配列の最短の長さを求めよ Input (length ≦ 100) Which is a Heap 4 2 3 1 4 Output 1 4 2 3 2 3

想定解法 ・・・ 入力を接尾辞に持つ形を短い順に全部試す 4 2 3 4 2 3 4 2 4 3 2 3 4 2 3 これはヒープに なるかな? これはヒープに なるかな? これはヒープに なるかな? これは・・・?

想定解法: 注意点が2つ ・・・ 4 2 3 4 2 4 3 2 3 4 2 3 どのくらいのサイズまで 試したら不可能 -1 と わかる? ヒープになるかの判定: 空き要素  をどう埋める? 4 ・・・ 2 3 4 2 4 3 2 3 4 2 3 これはヒープに なるかな? これはヒープに なるかな? これはヒープに なるかな? これは・・・?

Q1: どのくらいのサイズまで試す? A: このくらい。

Q1: どのくらいのサイズまで試す? の方が より 短い より の方が 短い など A: 入力長の倍以上に木の底辺が長い解があるなら もっと短い解が存在したはずなのでそれ以上考えなくて良い の方が 短い より a a min b,c b c より の方が 短い など

“入力が葉に全部並ぶまで” や “2Nまで” は不十分 入力の長さ:7 答え:16 6 1 7 8 2 3 9 10 15 11 4 12 13 5 14

Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める これはヒープに なるかな? 9 2 3 6

1 9 2 3 6 Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める 3, 6 より小さい、 まだ使ってない 最大値 1 9 2 3 6

1 9 2 3 6 Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める 2, 9 より小さい、 まだ使ってない 最大値 1 9 2 3 6

Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める 無理 もう無理 1 9 2 3 6

Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める これはヒープに なるかな? 9 2 3 6

4 1 5 9 2 3 5 9 2 3 6 6 Q2: これはヒープになるかな?の判定 A: 下から順に、使える最大値を貪欲に埋める 4 1 …(中略)… 5 9 2 3 5 9 2 3 6より小さい 最大値… 6 6 できた!

貪欲でよいことの証明 [1/2] M 例:最大値 M は別の場所に使って 末尾では M-a を使うヒープの作り方が あったとする。 M-1

貪欲でよいことの証明 [2/2] M 例:その別解で [M-a, ..., M] があった箇所を [M, M-a, ...] に置き換えてもヒープなのでOK M-2 M-1 M

結果 First Accepted (Onsite) First Accepted (Online) semiexp (28:05) First Accepted (Online) Total Submission: 233 Accepted:72 Accepted / Total: 31 % Trying: 93 Trying / Total: 40 %