SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
2014/03/24
山下 洋史
@utatakiyoshi
2013 JOI春合宿 Day4
漢字しりとり(Kanji Shiritori) 解説
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
・問題文が 7 ページもありますが,
 ちゃんと読みましたか?
・最近の IOI は Reactive な出題が多く,
 問題文が長くなる傾向にあります
・時間はたっぷりあるので,焦らずに読んでください
はじめに
2
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
概要
3
Anna
1
3
10
20
30
40
50
の視点
0
2
  →  の最短経路は?0 1
というクエリが Q 個飛んでくる
N頂点 M辺 の有向グラフ
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Anna
概要
4
  →  の最短経路は?0 11
3
10
20
30
40
50
の視点
0
2
というクエリが Q 個飛んでくる
N頂点 M辺 の有向グラフ
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
概要
5
1
3
10
[ ??? ]
30
[ ??? ]
50
の視点
  →  の最短経路は?0 1
0
2
Bruno
というクエリが Q 個飛んでくる
N頂点 M辺 の有向グラフ
コストが[ ??? ]の辺が K 本
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
概要
6
Anna
1
3
10
20
30
40
50
の視点
0
2
  →  の最短経路は?0 1
というクエリが Q 個飛んでくる
N頂点 M辺 の有向グラフ
Bruno は この辺の
長さを知らないらしい
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
概要
7
010010010...011
Anna Bruno
L個
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題
・小課題 1 [10点] (L ≦ 1000 いろいろ小さい)
・小課題 2 [22点] (L ≦ 180)
・小課題 3 [ 8点] (L ≦ 160)
・小課題 4 [40点] (L ≦ 90)
・小課題 5 [20点] (L ≦ 64)
8
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
制約
すべての入力データは以下の条件を満たす.
• 2 ≦ N ≦ 300.
• 1 ≦ M ≦ N × (N−1).
• 0 ≦ Ai < N (0 ≦ i < M).
• 0 ≦ Bi < N (0 ≦ i < M).
• Ai ≠ Bi (0 ≦ i < M).
• (Ai,Bi) ≠ (Aj,Bj) (0 ≦ i < j < M).
• 1 ≦ Ci ≦ 1016 (< 254) (0 ≦ i < M).
• 1 ≦ Q ≦ 60.
• 0 ≦ Sj < N (0 ≦ j < Q).
• 0 ≦ Tj < N (0 ≦ j < Q).
• Sj ≠ Tj (0 ≦ j < Q).
• (Si,Ti) ≠ (Sj,Tj)(0 ≦ i < j < Q).
• 漢字 Sj から始まり漢字 Tj で終わる漢字しりとりが存在する (0 ≦ j < Q).
• 1 ≦ K ≦ 5.
• 0 ≦ Uk <M(0 ≦ k<K).
• Ui ≠ Uj (0 ≦ i < j < K).
• Bruno が忘れてしまった単語の最初の文字は共通である.すなわち AU0 = AU1 = · · · = AUK−1 .
9
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
重要な制約
・N ≦ 300
・Q ≦ 60
・Ci ≦ 1016 (< 254)
・K ≦ 5
・A[U0] = A[U1] = ... A[UK-1]
10
← そこそこ
← そこそこ
← かなりでかい
← かなり小さい
    ←考察しよう
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 1’ (10点)
・ Q ≦ 10
・ 答えのサイズ = W ≦ 10
・ L ≦ 1000
→ Anna で最短路して,答えを全部送る
( QWlog(N) = 10 × 10 × log(300) → 900 bit )
11
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 1’ (10点)
・ Q ≦ 10
・ 答えのサイズ = W ≦ 10
・ L ≦ 1000
→ Anna が Uk のコストをそのまま送る
( log(C)K = log(254) × 5 = 270 bit )
12
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
重要な考察
最短経路はこの 6 通りしかない
13
TS
V
赤い辺 を通らない
Uk を通る
こんなものはいらない
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
重要な考察
とりあえず番号付け
14
TS
V
パス 1~5
パス 0
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 2 (22点)
・この 6 (=K+1) 通りのどれを通るかを送る
・1クエリあたり 3 bit
・Q × 3 = 60 × 3 = 180 bit
15
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
数字を0/1列で送る
一般的なテク
・0 ≦ a < 5, 0 ≦ b < 5, 0 ≦ c < 10 を送りたい
・そのまま送ると
 a に 3 bit , b に 3 bit , c に 4 bit→ 合計 10 bit
・(a,b,c) は 5 × 5 × 10 = 250 通り
・250 通りのうちどれか?を送ることにする
 → 8 bit (2 bit 短縮)
16
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 3 (8点)
・ 3つずつまとめて送る
・x,y,z を送るとき,36x + 6y + z を送る
・6 × 6 × 6 = 216 通り → 8 bit
・(Q / 3) × 8 = (60 / 3) × 8 = 160 bit
17
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Compare(j, a, b):
 問題 j でパス a とパス b はどっちが短い?
これが 0 ≦ j < Q, 0 ≦ a ≦ 5, 0 ≦ b ≦ 5
について全部分かれば解ける
18
小課題 4 (40点)
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説19
a+1 < b+4 なら 問題 1 は上ルートが勝ち
a+1 < b+5 なら 問題 2 は上ルートが勝ち
V
14 b
a
T2S2
S1
1
T1
4
1
5
の視点Bruno
小課題 4 (40点)
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説20
V
4 b
a
a-b < -1+4 なら 問題 1 は上ルートが勝ち
a-b < -1+5 なら 問題 2 は上ルートが勝ち
T2S2
S1
1
T1
1
5
の視点Bruno
小課題 4 (40点)
1
4
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
V
1
4 b
a
T2S2
S1
1
T1
4
1
5
の視点Bruno
21
どの問題についても
a-b を定数と比べる形
a-b < -1+4 なら 問題 1 は上ルートが勝ち
a-b < -1+5 なら 問題 2 は上ルートが勝ち
小課題 4 (40点)
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説22
V
1
4
a
a-0 < -2+5 なら 問題 1 は中ルートが勝ち
a-0 < -8+9 なら 問題 2 は中ルートが勝ち
T2S2
S1
1
T1
4
5
9
の視点Bruno
小課題 4 (40点)
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説23
a-b < -3 なら 問題 1 は上ルートが勝ち
a-b < -1 なら 問題 2 は上ルートが勝ち
a-b < 4 なら 問題 3 は上ルートが勝ち
a-b < -1 なら 問題 4 は上ルートが勝ち
a-b < -5 なら 問題 5 は上ルートが勝ち
a-b < 9 なら 問題 6 は上ルートが勝ち
a-b = 2 だった.
↑上ルート
↓下ルート
小課題 4 (40点) a-b < cj の cj 順にソート
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 (40点)
・パス a と パス b の比較で パス a が勝つのはいくつか?
 を送る.
・「パス a 勝ち」の個数が分かれば Bruno で復元できる
・送るのは log(Q+1) → 6 bit
・a, b の組み合わせが (K+1) × K / 2 = 15 通り
・6 × 15 = 90 bit
24
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 の解のイメージ
25
Anna Bruno
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
左が勝ち
右が勝ち
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 の解のイメージ
26
Anna Bruno
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
5, 1, 7
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
左が勝ち
右が勝ち
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 の解のイメージ
27
Anna Bruno
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
5, 1, 7
パス 0 < パス 1
パス 0 > パス 2
パス 1 > パス 2
だからパス 2 が最短やな!
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
左が勝ち
右が勝ち
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 (40点)
・パス a と パス b の比較で パス a が勝つのはいくつか?
 を送る.
・「パス a 勝ち」の個数が分かれば Bruno で復元できる
・送るのは log(Q+1) → 6 bit
・a, b の組み合わせが (K+1) × K / 2 = 15 通り
・6 × 15 = 90 bit
28
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 4 の解のイメージ
29
Anna Bruno
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
5, 1, 7
パス 0 < パス 1
パス 0 > パス 2
パス 1 > パス 2
だからパス 2 が最短やな!
0 vs 1 0 vs 2 1 vs 2
Q1
Q1
Q1
左が勝ち
右が勝ち
Compare(j, a, b) を全部送るのはムダ
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
パス 1 と比較 パス 2 と比較
Q7
Q8
Q9
Q4
Q5
Q6
Q1
Q2
Q3
Q7
Q8
Q9
Q4
Q5
Q6
Q1
Q2
Q3
小課題 5 (20点)
30
Q5
Q6
Q7
Q8
Q4
Q1
Q2
Q3
Q7
Q8
Q9Q9
Q4
Q7
Q8
Q5
Q6
Q9
Q1
Q2
Q3
パス 0
パス 0
パス 1
パス 0
パス 1
パス 2
最短パスをパス i と比較
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 (20点)
使う Compare は
・Compare(?, 0, 1) : 9個
・Compare(?, 0, 2) : 6個
・Compare(?, 1, 2) : 3個
31
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 (20点)
・Compare(?, a, b) を使う個数を Xab とする
・左が勝つのは何個かを送る.(0 ~ Xab の範囲)
 (まとめて送るテクでの圧縮もする)
log(X01+1) + log(X02+1) + log(X12+1) + ... + log(X45+1) [bit]
・(60)→(30,30)→(20,20,20)→(15,15,15,15)→(12,12,12,12,12)
となるように分割された時が最悪
→ log(61) + log(31)×2 + log(21)×3 + log(16)×4 + log(12)×5
→ 64 bit
32
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
33
Anna
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
34
Anna
4
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
35
Anna
4
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
36
Anna
4, 2, 1
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
37
Anna
4, 2, 1
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
38
Anna
4, 2, 1, 1, 2, 0
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
39
Anna
4, 2, 1, 1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
40
Bruno
4, 2, 1, 1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
41
Bruno
4, 2, 1, 1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
42
Bruno
2, 1, 1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
43
Bruno
2, 1, 1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
44
Bruno
1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
45
Bruno
1, 2, 0, ...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 の解のイメージ
46
Bruno
...
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
小課題 5 (20点)
・Compare(?, a, b) を呼ぶ回数を Cab とする
・それぞれ小課題 4 と同じように送る
 (まとめて送るテクでの圧縮もする)
・log(C01+1) + log(C02+1) + log(C12+1) + ... + log(C45+1) [bit]
・(60)→(30,30)→(20,20,20)→(15,...,15)→(12,...,12)
となるように分割された時が最悪
→ log(61) + log(31)×2 + log(21)×3 + log(16)×4 + log(12)×5
→ 64 bit (おめでとうございます)
47
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
諸注意
・long long (引数の型見てネ)
・パス i が無い ([???]の辺を消すと非連結になる)
・グラフが密なので Dijkstra なら
priority queue を使わないO(V2)の方で
(今回はどっちでもたぶん OK)
・不正はいけない
48
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Warshall-Floyd 法
49
全頂点対間の最短距離を求めます
1 ∼ (k-1)
i j
1 ∼ (k-1) だけを通って行く最短路がわかっている
i → (1 ~ k-1) → j
の最短経路
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Warshall-Floyd 法
50
i j
k
(i → k) + (k → j) が (i → j) より短かったら
i → (1 ~ k-1) → k
の最短経路
k → (1 ~ k-1) → j
の最短経路
i → (1 ~ k-1) → j
の最短経路
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Warshall-Floyd 法
51
i j
k
(i → k) + (k → j) が (i → j) より短かったら
i → j を更新
i → (1 ~ k) → j
の最短経路
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
Warshall-Floyd 法
for (k = 1 ... N){
for (i = 1 ... N){
for (j = 1 ... N){
i → j を更新する
}}}
52
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
経路復元
53
i j
k
next ( i → j ) : i → j の経路で初めにたどる辺
更新 : next ( i → j ) ← next ( i → k )
る : i ← next ( i → j )の終点
2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
点数
54
0
25
50
75
100
1位

Mais conteúdo relacionado

Último

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
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Último (7)

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 #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

2013 JOI春合宿 Day4 漢字しりとり (Kanji Shiritori) 解説

  • 1. 2014/03/24 山下 洋史 @utatakiyoshi 2013 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説
  • 2. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 ・問題文が 7 ページもありますが,  ちゃんと読みましたか? ・最近の IOI は Reactive な出題が多く,  問題文が長くなる傾向にあります ・時間はたっぷりあるので,焦らずに読んでください はじめに 2
  • 3. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 概要 3 Anna 1 3 10 20 30 40 50 の視点 0 2   →  の最短経路は?0 1 というクエリが Q 個飛んでくる N頂点 M辺 の有向グラフ
  • 4. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Anna 概要 4   →  の最短経路は?0 11 3 10 20 30 40 50 の視点 0 2 というクエリが Q 個飛んでくる N頂点 M辺 の有向グラフ
  • 5. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 概要 5 1 3 10 [ ??? ] 30 [ ??? ] 50 の視点   →  の最短経路は?0 1 0 2 Bruno というクエリが Q 個飛んでくる N頂点 M辺 の有向グラフ コストが[ ??? ]の辺が K 本
  • 6. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 概要 6 Anna 1 3 10 20 30 40 50 の視点 0 2   →  の最短経路は?0 1 というクエリが Q 個飛んでくる N頂点 M辺 の有向グラフ Bruno は この辺の 長さを知らないらしい
  • 7. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 概要 7 010010010...011 Anna Bruno L個
  • 8. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 ・小課題 1 [10点] (L ≦ 1000 いろいろ小さい) ・小課題 2 [22点] (L ≦ 180) ・小課題 3 [ 8点] (L ≦ 160) ・小課題 4 [40点] (L ≦ 90) ・小課題 5 [20点] (L ≦ 64) 8
  • 9. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 制約 すべての入力データは以下の条件を満たす. • 2 ≦ N ≦ 300. • 1 ≦ M ≦ N × (N−1). • 0 ≦ Ai < N (0 ≦ i < M). • 0 ≦ Bi < N (0 ≦ i < M). • Ai ≠ Bi (0 ≦ i < M). • (Ai,Bi) ≠ (Aj,Bj) (0 ≦ i < j < M). • 1 ≦ Ci ≦ 1016 (< 254) (0 ≦ i < M). • 1 ≦ Q ≦ 60. • 0 ≦ Sj < N (0 ≦ j < Q). • 0 ≦ Tj < N (0 ≦ j < Q). • Sj ≠ Tj (0 ≦ j < Q). • (Si,Ti) ≠ (Sj,Tj)(0 ≦ i < j < Q). • 漢字 Sj から始まり漢字 Tj で終わる漢字しりとりが存在する (0 ≦ j < Q). • 1 ≦ K ≦ 5. • 0 ≦ Uk <M(0 ≦ k<K). • Ui ≠ Uj (0 ≦ i < j < K). • Bruno が忘れてしまった単語の最初の文字は共通である.すなわち AU0 = AU1 = · · · = AUK−1 . 9
  • 10. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 重要な制約 ・N ≦ 300 ・Q ≦ 60 ・Ci ≦ 1016 (< 254) ・K ≦ 5 ・A[U0] = A[U1] = ... A[UK-1] 10 ← そこそこ ← そこそこ ← かなりでかい ← かなり小さい     ←考察しよう
  • 11. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 1’ (10点) ・ Q ≦ 10 ・ 答えのサイズ = W ≦ 10 ・ L ≦ 1000 → Anna で最短路して,答えを全部送る ( QWlog(N) = 10 × 10 × log(300) → 900 bit ) 11
  • 12. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 1’ (10点) ・ Q ≦ 10 ・ 答えのサイズ = W ≦ 10 ・ L ≦ 1000 → Anna が Uk のコストをそのまま送る ( log(C)K = log(254) × 5 = 270 bit ) 12
  • 13. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 重要な考察 最短経路はこの 6 通りしかない 13 TS V 赤い辺 を通らない Uk を通る こんなものはいらない
  • 14. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 重要な考察 とりあえず番号付け 14 TS V パス 1~5 パス 0
  • 15. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 2 (22点) ・この 6 (=K+1) 通りのどれを通るかを送る ・1クエリあたり 3 bit ・Q × 3 = 60 × 3 = 180 bit 15
  • 16. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 数字を0/1列で送る 一般的なテク ・0 ≦ a < 5, 0 ≦ b < 5, 0 ≦ c < 10 を送りたい ・そのまま送ると  a に 3 bit , b に 3 bit , c に 4 bit→ 合計 10 bit ・(a,b,c) は 5 × 5 × 10 = 250 通り ・250 通りのうちどれか?を送ることにする  → 8 bit (2 bit 短縮) 16
  • 17. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 3 (8点) ・ 3つずつまとめて送る ・x,y,z を送るとき,36x + 6y + z を送る ・6 × 6 × 6 = 216 通り → 8 bit ・(Q / 3) × 8 = (60 / 3) × 8 = 160 bit 17
  • 18. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Compare(j, a, b):  問題 j でパス a とパス b はどっちが短い? これが 0 ≦ j < Q, 0 ≦ a ≦ 5, 0 ≦ b ≦ 5 について全部分かれば解ける 18 小課題 4 (40点)
  • 19. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説19 a+1 < b+4 なら 問題 1 は上ルートが勝ち a+1 < b+5 なら 問題 2 は上ルートが勝ち V 14 b a T2S2 S1 1 T1 4 1 5 の視点Bruno 小課題 4 (40点)
  • 20. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説20 V 4 b a a-b < -1+4 なら 問題 1 は上ルートが勝ち a-b < -1+5 なら 問題 2 は上ルートが勝ち T2S2 S1 1 T1 1 5 の視点Bruno 小課題 4 (40点) 1 4
  • 21. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 V 1 4 b a T2S2 S1 1 T1 4 1 5 の視点Bruno 21 どの問題についても a-b を定数と比べる形 a-b < -1+4 なら 問題 1 は上ルートが勝ち a-b < -1+5 なら 問題 2 は上ルートが勝ち 小課題 4 (40点)
  • 22. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説22 V 1 4 a a-0 < -2+5 なら 問題 1 は中ルートが勝ち a-0 < -8+9 なら 問題 2 は中ルートが勝ち T2S2 S1 1 T1 4 5 9 の視点Bruno 小課題 4 (40点)
  • 23. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説23 a-b < -3 なら 問題 1 は上ルートが勝ち a-b < -1 なら 問題 2 は上ルートが勝ち a-b < 4 なら 問題 3 は上ルートが勝ち a-b < -1 なら 問題 4 は上ルートが勝ち a-b < -5 なら 問題 5 は上ルートが勝ち a-b < 9 なら 問題 6 は上ルートが勝ち a-b = 2 だった. ↑上ルート ↓下ルート 小課題 4 (40点) a-b < cj の cj 順にソート
  • 24. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 (40点) ・パス a と パス b の比較で パス a が勝つのはいくつか?  を送る. ・「パス a 勝ち」の個数が分かれば Bruno で復元できる ・送るのは log(Q+1) → 6 bit ・a, b の組み合わせが (K+1) × K / 2 = 15 通り ・6 × 15 = 90 bit 24
  • 25. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 の解のイメージ 25 Anna Bruno 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 左が勝ち 右が勝ち 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1
  • 26. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 の解のイメージ 26 Anna Bruno 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 5, 1, 7 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 左が勝ち 右が勝ち
  • 27. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 の解のイメージ 27 Anna Bruno 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 5, 1, 7 パス 0 < パス 1 パス 0 > パス 2 パス 1 > パス 2 だからパス 2 が最短やな! 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 左が勝ち 右が勝ち
  • 28. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 (40点) ・パス a と パス b の比較で パス a が勝つのはいくつか?  を送る. ・「パス a 勝ち」の個数が分かれば Bruno で復元できる ・送るのは log(Q+1) → 6 bit ・a, b の組み合わせが (K+1) × K / 2 = 15 通り ・6 × 15 = 90 bit 28
  • 29. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 4 の解のイメージ 29 Anna Bruno 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 5, 1, 7 パス 0 < パス 1 パス 0 > パス 2 パス 1 > パス 2 だからパス 2 が最短やな! 0 vs 1 0 vs 2 1 vs 2 Q1 Q1 Q1 左が勝ち 右が勝ち Compare(j, a, b) を全部送るのはムダ
  • 30. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 パス 1 と比較 パス 2 と比較 Q7 Q8 Q9 Q4 Q5 Q6 Q1 Q2 Q3 Q7 Q8 Q9 Q4 Q5 Q6 Q1 Q2 Q3 小課題 5 (20点) 30 Q5 Q6 Q7 Q8 Q4 Q1 Q2 Q3 Q7 Q8 Q9Q9 Q4 Q7 Q8 Q5 Q6 Q9 Q1 Q2 Q3 パス 0 パス 0 パス 1 パス 0 パス 1 パス 2 最短パスをパス i と比較
  • 31. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 (20点) 使う Compare は ・Compare(?, 0, 1) : 9個 ・Compare(?, 0, 2) : 6個 ・Compare(?, 1, 2) : 3個 31
  • 32. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 (20点) ・Compare(?, a, b) を使う個数を Xab とする ・左が勝つのは何個かを送る.(0 ~ Xab の範囲)  (まとめて送るテクでの圧縮もする) log(X01+1) + log(X02+1) + log(X12+1) + ... + log(X45+1) [bit] ・(60)→(30,30)→(20,20,20)→(15,15,15,15)→(12,12,12,12,12) となるように分割された時が最悪 → log(61) + log(31)×2 + log(21)×3 + log(16)×4 + log(12)×5 → 64 bit 32
  • 33. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 33 Anna
  • 34. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 34 Anna 4
  • 35. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 35 Anna 4
  • 36. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 36 Anna 4, 2, 1
  • 37. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 37 Anna 4, 2, 1
  • 38. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 38 Anna 4, 2, 1, 1, 2, 0
  • 39. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 39 Anna 4, 2, 1, 1, 2, 0, ...
  • 40. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 40 Bruno 4, 2, 1, 1, 2, 0, ...
  • 41. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 41 Bruno 4, 2, 1, 1, 2, 0, ...
  • 42. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 42 Bruno 2, 1, 1, 2, 0, ...
  • 43. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 43 Bruno 2, 1, 1, 2, 0, ...
  • 44. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 44 Bruno 1, 2, 0, ...
  • 45. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 45 Bruno 1, 2, 0, ...
  • 46. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 の解のイメージ 46 Bruno ...
  • 47. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 小課題 5 (20点) ・Compare(?, a, b) を呼ぶ回数を Cab とする ・それぞれ小課題 4 と同じように送る  (まとめて送るテクでの圧縮もする) ・log(C01+1) + log(C02+1) + log(C12+1) + ... + log(C45+1) [bit] ・(60)→(30,30)→(20,20,20)→(15,...,15)→(12,...,12) となるように分割された時が最悪 → log(61) + log(31)×2 + log(21)×3 + log(16)×4 + log(12)×5 → 64 bit (おめでとうございます) 47
  • 48. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 諸注意 ・long long (引数の型見てネ) ・パス i が無い ([???]の辺を消すと非連結になる) ・グラフが密なので Dijkstra なら priority queue を使わないO(V2)の方で (今回はどっちでもたぶん OK) ・不正はいけない 48
  • 49. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Warshall-Floyd 法 49 全頂点対間の最短距離を求めます 1 ∼ (k-1) i j 1 ∼ (k-1) だけを通って行く最短路がわかっている i → (1 ~ k-1) → j の最短経路
  • 50. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Warshall-Floyd 法 50 i j k (i → k) + (k → j) が (i → j) より短かったら i → (1 ~ k-1) → k の最短経路 k → (1 ~ k-1) → j の最短経路 i → (1 ~ k-1) → j の最短経路
  • 51. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Warshall-Floyd 法 51 i j k (i → k) + (k → j) が (i → j) より短かったら i → j を更新 i → (1 ~ k) → j の最短経路
  • 52. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 Warshall-Floyd 法 for (k = 1 ... N){ for (i = 1 ... N){ for (j = 1 ... N){ i → j を更新する }}} 52
  • 53. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 経路復元 53 i j k next ( i → j ) : i → j の経路で初めにたどる辺 更新 : next ( i → j ) ← next ( i → k ) る : i ← next ( i → j )の終点
  • 54. 2014/03/242014 JOI春合宿 Day4 漢字しりとり(Kanji Shiritori) 解説 点数 54 0 25 50 75 100 1位