SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
立命合宿 2018 Day 3
F:最短距離を伸ばすえびちゃん
原案,問題文,解説:鈴木
解答:栗田,鈴木,杉江
2018/3/28 立命合宿2018 Day3 F 1
問題概要
• 𝑁頂点𝑀辺の有向グラフと2頂点𝑠, 𝑡が与えられる
• 辺𝑖は距離𝑑𝑖
• いくつかの辺を整数の範囲で伸ばす
• 辺𝑖は距離1伸ばすごとに𝑐𝑖のコストがかかる
• 𝑠-𝑡間の最短距離を伸ばすために必要な最小コストは?
• 制約
• 2 ≤ 𝑁 ≤ 200
• 1 ≤ 𝑀 ≤ 2000
• 𝑠 ≠ 𝑡
• 1 ≤ 𝑑𝑖, 𝑐𝑖 ≤ 10
2018/3/28 立命合宿2018 Day3 F 2
𝑠
𝑡
𝑑: 6, 𝑐: 1
𝑑: 2, 𝑐: 5
𝑑: 3, 𝑐: 1
𝑑: 2, 𝑐: 6
𝑑: 5, 𝑐: 3
𝑠
𝑡
𝑑: 7
𝑑: 2
𝑑: 3
𝑑: 2
𝑑: 5
𝑑𝑠𝑡 𝑠, 𝑡 = 7 𝑑𝑠𝑡 𝑠, 𝑡 = 7
𝑐𝑜𝑠𝑡 = 1入力
𝑠
𝑡
𝑑: 7
𝑑: 3
𝑑: 3
𝑑: 2
𝑑: 5
𝑑𝑠𝑡 𝑠, 𝑡 = 8
𝑐𝑜𝑠𝑡 = 5
𝑠
𝑡
𝑑: 7
𝑑: 2
𝑑: 4
𝑑: 2
𝑑: 6
𝑑𝑠𝑡 𝑠, 𝑡 = 8
𝑐𝑜𝑠𝑡 = 4答え
2018/3/28 立命合宿2018 Day3 F 3
考察
• 𝑠-𝑡最短路が通らない辺は伸ばす意味なし
𝑠
𝑡
𝑑: 6, 𝑐: 1
𝑑: 2, 𝑐: 5
𝑑: 3, 𝑐: 1
𝑑: 2, 𝑐: 6
𝑑: 5, 𝑐: 3
この辺をいくら伸ばしても
𝑠-𝑡間の最短距離は変わらない
2018/3/28 立命合宿2018 Day3 F 4
• 𝑠を始点,𝑡を終点とするDAGになる
• 最短路DAGと呼ぶことにする
伸ばす意味のない辺を消す
𝑠
𝑡
𝑑: 2, 𝑐: 5
𝑑: 3, 𝑐: 1
𝑑: 2, 𝑐: 6
𝑑: 5, 𝑐: 3
𝑠
𝑡
𝑑: 6, 𝑐: 1
𝑑: 2, 𝑐: 5
𝑑: 3, 𝑐: 1
𝑑: 2, 𝑐: 6
𝑑: 5, 𝑐: 3
2018/3/28 立命合宿2018 Day3 F 5
どこをどれだけ伸ばすか
• 最短路DAG上のあらゆる𝑠-𝑡経路に被る辺集合
• 各カット辺を1だけ伸ばせば十分
𝑠
𝑡
𝑠
𝑡
𝑠
𝑡
=削除すると𝑠-𝑡が分断される辺集合
= 𝑠-𝑡カット辺集合
2018/3/28 立命合宿2018 Day3 F 6
カット辺でないと
元の最短路が残る
どの𝑠-𝑡カットが良いか
• いわゆる最小カット
• 最短路DAGとコストで最小カット問題を解く
𝑠
𝑡
𝑑: 2, 𝑐: 5
𝑑: 3, 𝑐: 1
𝑑: 2, 𝑐: 6
𝑑: 5, 𝑐: 3
𝑠
𝑡
𝑐: 5
𝑐: 1
𝑐: 6
𝑐: 3
最小カットは4
元問題の答えも4
詳細はググる
か蟻本で!
2018/3/28 立命合宿2018 Day3 F 7
解法の詳細
1. 最短路DAGを作る
• ワーシャル・フロイド 𝑂 𝑁3
• 各辺が最短路に寄与するかチェック 𝑂(𝑀)
• 𝑑𝑠𝑡 𝑠, 𝑢𝑖 + 𝑑𝑖 + 𝑑𝑠𝑡 𝑣𝑖, 𝑡 = 𝑑𝑠𝑡(𝑠, 𝑡)なら寄与
2. 最短路DAGで最小カット問題を解く
• 例えば Dinic,フォード・フォルカーソン,…
• 全体の計算量
• Dinicを使う:𝑂 𝑁3 + 𝑁2 𝑀
• フォードを使う:𝑂(𝑁3 + 𝑀 × 𝐴𝑁𝑆)
2018/3/28 立命合宿2018 Day3 F 8
グラフが小さいので
これで十分です
Writer解
言語 行数 Byte
栗田 C++ 90 2273
鈴木 C++ 87 2085
杉江 C++ 113 3153
2018/3/28 立命合宿2018 Day3 F 9
提出状況
• Acceptance Rate
• 72% (34 /47)
• First Accept
• オンサイト
• rupc_aiu (0:33)
• オンライン
• pekempey (0:49)
2018/3/28 立命合宿2018 Day3 F 10

Weitere ähnliche Inhalte

Mehr von HCPC: 北海道大学競技プログラミングサークル

Mehr von HCPC: 北海道大学競技プログラミングサークル (20)

HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニックプログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
 
RUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts OrientationRUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts Orientation
 
RUPC 2019 Day3 D: 矢
RUPC 2019 Day3 D: 矢RUPC 2019 Day3 D: 矢
RUPC 2019 Day3 D: 矢
 
RUPC 2019 Day3 F: 赤黒そーるじぇむ
RUPC 2019 Day3 F: 赤黒そーるじぇむRUPC 2019 Day3 F: 赤黒そーるじぇむ
RUPC 2019 Day3 F: 赤黒そーるじぇむ
 
RUPC 2019 Day3 E: 往復文字列
RUPC 2019 Day3 E: 往復文字列RUPC 2019 Day3 E: 往復文字列
RUPC 2019 Day3 E: 往復文字列
 
RUPC 2019 Day3 C: 約数ゲーム
RUPC 2019 Day3 C: 約数ゲームRUPC 2019 Day3 C: 約数ゲーム
RUPC 2019 Day3 C: 約数ゲーム
 
RUPC 2019 Day3 B: 括弧を語る数
RUPC 2019 Day3 B: 括弧を語る数RUPC 2019 Day3 B: 括弧を語る数
RUPC 2019 Day3 B: 括弧を語る数
 
RUPC 2019 Day3 A: 情報検索
RUPC 2019 Day3 A: 情報検索RUPC 2019 Day3 A: 情報検索
RUPC 2019 Day3 A: 情報検索
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

RUPC 2018 Day3 F: 最短距離を伸ばすえびちゃん (Ebi-chan Lengthens Shortest Paths)