Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
[ACM-ICPC] Minimum Cut
Search
KuoE0
January 21, 2013
Programming
110
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[ACM-ICPC] Minimum Cut
KuoE0
January 21, 2013
More Decks by KuoE0
See All by KuoE0
Protocol handler in Gecko
kuoe0
0
110
面試面試面試,因為很重要所以要說三次!
kuoe0
2
330
應徵軟體工程師
kuoe0
0
190
面試心得分享
kuoe0
0
440
Windows 真的不好用...
kuoe0
0
340
Python @Wheel Lab
kuoe0
0
260
Introduction to VP8
kuoe0
0
310
Python @NCKU_CSIE
kuoe0
0
150
[ACM-ICPC] Tree Isomorphism
kuoe0
1
280
Other Decks in Programming
See All in Programming
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
200
What We Talk About When We Talk About XP
m_seki
2
620
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
160
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
210
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
560
Heart of Swift Concurrency
koher
0
680
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
220
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
550
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
800
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Agile that works and the tools we love
rasmusluckow
331
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
We Are The Robots
honzajavorek
0
370
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
540
Designing for Performance
lara
611
70k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Navigating Weather and Climate Data
rabernat
0
520
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
Minimum Cut ֲࢸݢʢKuoE0ʣ
[email protected]
KuoE0.ch
Cut
cut (undirected)
1 3 5 6 7 8 9 2 4 undirected
graph A partition of the vertices of a graph into two disjoint subsets
1 3 5 6 7 8 9 2 4 undirected
graph A partition of the vertices of a graph into two disjoint subsets
1 3 5 6 7 8 9 2 4 undirected
graph A partition of the vertices of a graph into two disjoint subsets
1 2 8 5 4 7 9 3 6 A
partition of the vertices of a graph into two disjoint subsets undirected graph
1 2 8 5 4 7 9 3 6 Cut-set
of the cut is the set of edges whose end points are in different subsets. undirected graph
1 2 8 5 4 7 9 3 6 Cut-set
of the cut is the set of edges whose end points are in different subsets. Cut-set undirected graph
1 2 8 5 4 7 9 3 6 weight
= number of edges or sum of weight on edges weight is 7 undirected graph
cut (directed)
1 3 5 6 7 8 9 2 4 directed
graph A partition of the vertices of a graph into two disjoint subsets
1 3 5 6 7 8 9 2 4 directed
graph A partition of the vertices of a graph into two disjoint subsets
1 3 5 6 7 8 9 2 4 directed
graph A partition of the vertices of a graph into two disjoint subsets
1 2 8 5 4 7 9 3 6 directed
graph A partition of the vertices of a graph into two disjoint subsets
1 2 8 5 4 7 9 3 6 directed
graph Cut-set of the cut is the set of edges whose end points are in different subsets.
1 2 8 5 4 7 9 3 6 directed
graph Cut-set of the cut is the set of edges whose end points are in different subsets.
1 2 8 5 4 7 9 3 6 Cut-set
directed graph Cut-set of the cut is the set of edges whose end points are in different subsets.
1 2 8 5 4 7 9 3 6 weight
is 5⇢ or 2⇠ directed graph weight = number of edges or sum of weight on edges
s-t cut 1. one side is source 2. another side
is sink 3. cut-set only consists of edges going from source’s side to sink’s side
1 3 5 6 7 8 9 2 4 flow
network Source Sink Other
1 3 5 6 7 8 9 2 4 flow
network Source Sink
1 3 5 6 7 8 9 2 4 flow
network Source Sink
1 2 8 5 4 7 9 3 6 flow
network cut-set only consists of edges going from source’s side to sink’s side
1 2 8 5 4 7 9 3 6 weight
is 6 flow network cut-set only consists of edges going from source’s side to sink’s side
Max-Flow Min-Cut Theorem
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 3 + 3 = 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 3 + 3 = 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 3 + 4 - 1 = 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 3 + 4 - 1 = 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 4 + 2= 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 4 + 2= 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 4 + 2= 6
Observation 1 The network flow sent across any cut is
equal to the amount reaching sink. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 total flow = 6, flow on cut = 4 + 2= 6
Observation 2 Then the value of the flow is at
most the capacity of any cut. 1 3 2 4 5 6 3 8 4 2 4 4 3 It’s trivial!
Observation 2 Then the value of the flow is at
most the capacity of any cut. 1 3 2 4 5 6 3 8 4 2 4 4 3 It’s trivial!
Observation 3 Let f be a flow, and let (S,T)
be an s-t cut whose capacity equals the value of f. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 f is the maximum flow (S,T) is the minimum cut
Observation 3 Let f be a flow, and let (S,T)
be an s-t cut whose capacity equals the value of f. 1 3 2 4 5 6 3/3 3/8 4/4 2/2 1/4 4/4 2/3 f is the maximum flow (S,T) is the minimum cut
Max-Flow EQUAL Min-Cut
Example
1 3 2 4 5 6 3 8 4 2
4 4 3
1 3 2 4 5 6 3/3 3/8 4/4 2/2
1/4 4/4 2/3 Maximum Flow = 6
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Residual Network
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Minimum Cut = 6
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Minimum Cut = 6
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Minimum Cut = 6
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Minimum Cut = 6
The minimum capacity limit the maximum flow!
find a s-t cut
1 3 2 4 5 6 3/3 3/8 4/4 2/2
1/4 4/4 2/3 Maximum Flow = 6
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 Travel on Residual Network
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 start from source
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 don’t travel through full edge
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 don’t travel through full edge
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 no residual edge
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 no residual edge
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 s-t cut
1 3 2 4 5 6 0/3 5/8 0/4 0/2
3/4 0/4 1/3 s-t cut
result of starting from sink 1 3 2 4 5
6 0/3 5/8 0/4 0/2 3/4 0/4 1/3
result of starting from sink 1 3 2 4 5
6 0/3 5/8 0/4 0/2 3/4 0/4 1/3
Minimum cut is non-unique!
time complexity: based on max-flow algorithm Ford-Fulkerson algorithm O(EF) Edmonds-Karp
algorithm O(VE2) Dinic algorithm O(V2E)
Stoer Wagner only for undirected graph time complexity: O(N3) or
O(N2log2N)
UVa 10480 - Sabotage Practice Now
Problem List UVa 10480 UVa 10989 POJ 1815 POJ 2914
POJ 3084 POJ 3308 POJ 3469
Reference • http://www.flickr.com/photos/dgjones/335788038/ • http://www.flickr.com/photos/njsouthall/3181945005/ • http://www.csie.ntnu.edu.tw/~u91029/Cut.html • http://en.wikipedia.org/wiki/Cut_(graph_theory) •
http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem • http://www.cs.princeton.edu/courses/archive/spr04/cos226/lectures/ maxflow.4up.pdf • http://www.cnblogs.com/scau20110726/archive/ 2012/11/27/2791523.html
Thank You for Your Listening.