Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[ACM-ICPC] Minimum Cut
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KuoE0
January 21, 2013
Programming
2
110
[ACM-ICPC] Minimum Cut
KuoE0
January 21, 2013
Tweet
Share
More Decks by KuoE0
See All by KuoE0
Protocol handler in Gecko
kuoe0
0
100
面試面試面試,因為很重要所以要說三次!
kuoe0
2
280
應徵軟體工程師
kuoe0
0
180
面試心得分享
kuoe0
0
430
Windows 真的不好用...
kuoe0
0
310
Python @Wheel Lab
kuoe0
0
230
Introduction to VP8
kuoe0
0
270
Python @NCKU_CSIE
kuoe0
0
130
[ACM-ICPC] Tree Isomorphism
kuoe0
1
270
Other Decks in Programming
See All in Programming
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
370
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
210
文字コードの話
qnighy
44
17k
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
140
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
800
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
190
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
5.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Prompt Engineering for Job Search
mfonobong
0
180
Six Lessons from altMBA
skipperchong
29
4.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
82
How to Ace a Technical Interview
jacobian
281
24k
GraphQLとの向き合い方2022年版
quramy
50
14k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
780
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
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.