This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
usaco-guide/content/6_Plat/Flows.mdx

93 lines
2.5 KiB
Text
Raw Normal View History

2020-06-22 14:26:06 +00:00
---
2020-06-25 15:52:19 +00:00
id: max-flow
2020-06-22 14:26:06 +00:00
title: "Maximum Flow"
author: Benjamin Qi
prerequisites:
2020-06-22 20:51:12 +00:00
- Gold - Breadth First Search
2020-06-22 14:26:06 +00:00
description: Introduces maximum flow as well as flow with lower bounds.
2020-06-28 16:03:46 +00:00
frequency: 1
2020-06-22 14:26:06 +00:00
---
2020-06-28 03:56:39 +00:00
import { Problem } from "../models";
export const metadata = {
problems: {
maxSam: [
new Problem("CSES", "Download Speed", "1694", "Easy", false, ["Max Flow"], ""),
],
flow: [
new Problem("CSES", "Distinct Routes", "1711", "Easy", false, ["Max Flow"], ""),
],
match: [
new Problem("CSES", "School Dance", "1696", "Easy", false, ["Max Flow"], ""),
new Problem("Old Gold", "Cow Steepchase", "93", "Easy", false, ["Max Flow"], ""),
],
dinic: [
new Problem("SPOJ", "Fast Flow", "FASTFLOW", "Easy", false, [], ""),
new Problem("YS", "Bipartite Matching", "bipartitematching", "Easy", false, [], ""),
],
minEx: [
new Problem("CSES", "Coin Grid", "1709", "Easy", false, [], ""),
],
cut: [
new Problem("CSA", "Fashion", "fashion", "Normal", false, [], ""),
new Problem("CF", "Card Game", "problemset/problem/808/F", "Normal", false, [], ""),
new Problem("CF", "Goods Transportation", "problemset/problem/724/E", "Hard", false, [], ""),
new Problem("AC", "ARC E - MUL", "http://arc085.contest.atcoder.jp/tasks/arc085_c", "Hard", false, [], ""),
]
}
};
2020-06-28 02:11:09 +00:00
2020-06-22 14:26:06 +00:00
## Maximum Flow
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.maxSam} />
2020-06-22 14:26:06 +00:00
### Tutorial
2020-06-28 03:56:39 +00:00
<resources>
<resource source="CPC" title="10 - Network Flow" url="10_graphs_3_network_flow"> </resource>
<resource source="CPH" title="20 - Flows & Cuts"> </resource>
</resources>
2020-06-28 02:11:09 +00:00
2020-06-28 03:56:39 +00:00
### Problems
2020-06-28 02:11:09 +00:00
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.flow} />
2020-06-28 02:11:09 +00:00
2020-06-28 03:56:39 +00:00
## Bipartite Matching
2020-06-28 02:11:09 +00:00
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.match} />
2020-06-26 21:12:04 +00:00
2020-06-28 03:56:39 +00:00
## Dinic's Algorithm
2020-06-26 21:12:04 +00:00
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.dinic} />
2020-06-26 21:12:04 +00:00
2020-06-28 03:56:39 +00:00
Hopcroft-Karp Bipartite Matching?
2020-06-26 21:12:04 +00:00
<optional-content title="Faster Flow">
There exist faster flow algorithms such as **Push-Relabel**. Also see the following blog post:
- [Chilli: Dinic's with Scaling](https://codeforces.com/blog/entry/66006)
However, the standard implementation of Dinic's is (almost) always fast enough.
</optional-content>
2020-06-28 03:56:39 +00:00
## Min-Cut Max Flow
2020-06-22 14:26:06 +00:00
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.minEx} />
2020-06-22 14:26:06 +00:00
2020-06-28 03:56:39 +00:00
(show equivalence)
2020-06-22 14:26:06 +00:00
2020-06-28 03:56:39 +00:00
Konig's?
2020-06-26 21:12:04 +00:00
2020-06-28 03:56:39 +00:00
- [Closure Problem](https://en.wikipedia.org/wiki/Closure_problem)?
2020-06-25 15:52:19 +00:00
2020-06-28 03:56:39 +00:00
Dilworth stuff, antichains?
https://maps20.kattis.com/problems/thewrathofkahn
## Problems
2020-06-25 15:52:19 +00:00
2020-06-28 03:56:39 +00:00
<problems-list problems={metadata.problems.cut} />