• 検索結果がありません。

解説

N/A
N/A
Protected

Academic year: 2021

シェア "解説"

Copied!
15
0
0

読み込み中.... (全文を見る)

全文

(1)

逃走経路

(Escape Route)

(2)

問題概要

• N頂点M辺の無向な連結グラフが与えられる • 各辺には通過にかかる時間があり, 通れる時間 も周期的である(周期はすべての辺で共通) • Q個のクエリが与えられ, それぞれのクエリは 「あるタイミングで頂点U_jからV_jまで移動す るとき, どれだけ時間がかかるか」というもの • 制約は N≦90, M≦N(N-1)/2, Q≦3000000

(3)

小課題1

• N ≦ 40, Q ≦ 1000

• クエリごとに普通のDijkstra法をおこなう • O(MQ log M)

(4)

小課題2

• N ≦ 40, U_j = 0 • まず、その日のうちに目的の都市にたどり着け るかどうかを考える • これは、目的の都市に時刻S-1に到着すること を想定して、すべての都市から逆方向に Dijkstra法をおこなうことによってO(NM log M) で事前計算できる

(5)

小課題2

• 次に、目的の都市にその日のうちにたどり着け ない場合を考える • この場合、必ずある都市からは時刻0に出発す ることになる • そのため、その日のうちに都市0からたどり着 ける都市を列挙し、それらの都市を時刻0に出 発したときに目的の都市にたどり着くのにかか る時間を比較すればよい • O(NM log M + NQ) • 以降は、その日のうちにたどり着ける場合のみ を考える

(6)

小課題2

• 最後に、その日のうちに目的の都市にたどり着 ける場合を考える • 都市0から変形Dijkstra法をおこなう • 出発時刻が遅くなっていくと、都市0からある 都市への最短経路は最大でM回切り替わる • 切り替わりうるのは、最短経路に使っていた道が通 れなくなったときのみ • 切り替わる時刻を持ってDijkstra法をおこなう

(7)

小課題2

• 都市0を時刻S-1に出発することをまず想定する • そして道を通るときに、その道を通れるような ギリギリの出発時刻での計算も行うようにする (各頂点が出発時刻ごとの所要時間を持っている イメージ) • O((M^2 + Q) log M) • すべて合わせてO(M^2 log M + NQ)なので20点

(8)

小課題3

• N ≦ 40 • 小課題2の変形Dijkstra法をすべての都市からお こなう • O((NM^2 + Q) log M) • ブロックサイズをBとしてO(N^2Q/B + N^3MB) となる解法もあるらしい • どちらにせよ35点

(9)

小課題4

• N ≦ 60 • あるルートについて、出発時刻をだんだんと遅 くしてゆくと、ある時刻からある道の制約に よってそのルートが使えなくなる • 逆に、そのルートはこの「ある道」の制約に 引っかかりさえしなければ使うことができる

(10)

小課題4

• この「あるルート」が都市Uから都市Vに行く 最短経路である必要条件は、「ある道」の端点 のうち「あるルート」上で都市Uに近いものを 都市X、都市Vに近いものを都市Yとすると • 「あるルート」内での都市Uから都市Xまでのルー トが、都市Xに時刻 C[ある道]-L[ある道] にたどりつ くという条件においての最短経路となっていること • 「あるルート」内での都市Yから都市Vまでのルー トが、都市Yを時刻 C[ある道] に出発するという条 件においての最短経路となっていること となる

(11)

小課題4

• この条件を満たすようなルートは都市Uから都 市VまででM個以下しかない • 前処理として、すべての辺の端点について、都 市Xとなるときと都市Yとなるときの両方を考え、 Dijkstra法を行う • ここは全体でO(M^2 log M)

(12)

小課題4

• 都市Uを出発して都市Vに到着するクエリに答 えるには、都市Uから都市Vへの「あるルー ト」で使えるもののうち、最も短いものがわか ればよい • それぞれの「あるルート」は使える時刻の上限 が決まっているので、その順番でソートして処 理をすればクエリに高速に答えられる

(13)

小課題4

• 以上より全体でO(N^2M log M + NQ)となる • O(N^5 + NQ)となる解法もあるらしい

(14)

小課題5(満点)

• 追加の制約なし(N ≦ 90) • 小課題4を高速化する

• まず、Dijkstra法の対象が密なグラフなので、 O(M log M)だったものがO(N^2)になる

• これによりDijkstra法の部分が全体でO(N^2M)に なる

(15)

小課題5(満点)

• 次に「あるルート」をソートする側であるが、 使える時刻の上限は都市Uから都市Xへのルー トで決定されるので、都市Uからすべての都市 Xまでのルートをあらかじめソートしておけば、 logを落とすことができる • 両方の高速化を使ってO(N^2M + NQ) • 100点

参照

関連したドキュメント

チツヂヅに共通する音声条件は,いずれも狭母音の前であることである。だからと

市場を拡大していくことを求めているはずであ るので、1だけではなく、2、3、4の戦略も

しい昨今ではある。オコゼの美味には 心ひかれるところであるが,その猛毒には要 注意である。仄聞 そくぶん

に至ったことである︒

以上の基準を仮に想定し得るが︑おそらくこの基準によっても︑小売市場事件は合憲と考えることができよう︒

度が採用されている︒ の三都市は都市州である︒また︑ ロンドン及びパリも特別の制

工事用車両の走行に伴う騒音・振動の予測地点は、図 8.3-5 に示すとおり、現況調査を実施し た工事用車両の走行ルート沿いである道路端の

都市国家から世界国家へと拡大発展する国家の規 道徳や宗教も必要であるが, より以上に重要なもの