|
@@ -34,7 +34,7 @@
|
|
|
<meta property="og:image" content="https://img-blog.csdnimg.cn/20200111112801923.png">
|
|
|
<meta property="og:image" content="file://C:/Users/liangliang/Documents/Gridea/post-images/1582894458914.png">
|
|
|
<meta property="article:published_time" content="2020-03-02T03:31:22.000Z">
|
|
|
-<meta property="article:modified_time" content="2020-03-03T09:49:05.954Z">
|
|
|
+<meta property="article:modified_time" content="2020-03-03T11:16:26.878Z">
|
|
|
<meta property="article:author" content="Schtonn">
|
|
|
<meta property="article:tag" content="graph">
|
|
|
<meta name="twitter:card" content="summary">
|
|
@@ -195,7 +195,7 @@
|
|
|
<i class="fa fa-calendar-check-o"></i>
|
|
|
</span>
|
|
|
<span class="post-meta-item-text">Edited on</span>
|
|
|
- <time title="Modified: 2020-Mar-03 17:49:05" itemprop="dateModified" datetime="2020-03-03T17:49:05+08:00">2020-Mar-03</time>
|
|
|
+ <time title="Modified: 2020-Mar-03 19:16:26" itemprop="dateModified" datetime="2020-03-03T19:16:26+08:00">2020-Mar-03</time>
|
|
|
</span>
|
|
|
|
|
|
|
|
@@ -212,7 +212,8 @@
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.css" integrity="sha384-dbVIfZGuN1Yq7/1Ocstc1lUEm+AT+/rCkibIcC/OmWo5f0EA48Vf8CytHzGrSwbQ" crossorigin="anonymous"><h3 id="前置知识">前置知识</h3>
|
|
|
<p>存图方式(<a href="http://baidu.physton.com/?q=邻接表" target="_blank" rel="noopener" title="简单">邻接表</a>,<a href="http://baidu.physton.com/?q=邻接矩阵" target="_blank" rel="noopener" title="都太简单了">邻接矩阵</a>),图的遍历(<a href="http://baidu.physton.com/?q=dfs" target="_blank" rel="noopener" title="简单">dfs</a>,<a href="http://baidu.physton.com/?q=bfs" target="_blank" rel="noopener" title="简单">bfs</a>)</p>
|
|
|
<h3 id="引入">引入</h3>
|
|
|
-<p>我们举个例子吧: 有一个毒瘤水管工,他会造水管,有一天他造了一个水管网络,就像一个图。其中有一个点只有出边,就是起点,还有一个点只有入边,是终点。 点之间有一些管子,这些管子都有单位时间内的容量,现在毒瘤水管工想知道,他的管子在<strong>单位时间内</strong>在起点终点之间最多能流多少水。 <a id="more"></a> ### 概念</p>
|
|
|
+<p>我们举个例子吧: 有一个毒瘤水管工,他会造水管,有一天他造了一个水管网络,就像一个图。其中有一个点只有出边,就是起点,还有一个点只有入边,是终点。 点之间有一些管子,这些管子都有单位时间内的容量,现在毒瘤水管工想知道,他的管子在<strong>单位时间内</strong>在起点终点之间最多能流多少水。 <a id="more"></a></p>
|
|
|
+<h3 id="概念">概念</h3>
|
|
|
<ul>
|
|
|
<li>源点:顾名思义,起点,一般用s表示</li>
|
|
|
<li>汇点:顾名思义,终点,一般用t表示。。。</li>
|
|
@@ -225,8 +226,12 @@
|
|
|
<ol type="1">
|
|
|
<li>増广</li>
|
|
|
<li>沿着増广路径建反向边</li>
|
|
|
-<li>如果源点与汇点依然连通,回到1 ### Dinic优化 Dinic的优化就是用bfs建立了由s开始的一个分层图,每次寻找増广路时必须让边上的层数严格递增,就可以确保每一步都离汇点近了一些这样就不会陷入毒瘤数据卡成的死循环,比如这样的著名毒瘤数据: <img src="file://C:/Users/liangliang/Documents/Gridea/post-images/1582894458914.png">在这个数据中,如果用朴素算法,就会让中间容量为1的边上下抖动抽搐,等到他抽了999次的时候才把上面和下面的999减没。如果用Dinic,两次直接求出999+999。 ### 代码 <a href="https://schtonn.github.io/404.html" target="_blank" rel="noopener"><code>404 Not Found(Click for more information)</code></a> 完结!</li>
|
|
|
+<li>如果源点与汇点依然连通,回到1</li>
|
|
|
</ol>
|
|
|
+<h3 id="dinic优化">Dinic优化</h3>
|
|
|
+<p>Dinic的优化就是用bfs建立了由s开始的一个分层图,每次寻找増广路时必须让边上的层数严格递增,就可以确保每一步都离汇点近了一些这样就不会陷入毒瘤数据卡成的死循环,比如这样的著名毒瘤数据: <img src="file://C:/Users/liangliang/Documents/Gridea/post-images/1582894458914.png">在这个数据中,如果用朴素算法,就会让中间容量为1的边上下抖动抽搐,等到他抽了999次的时候才把上面和下面的999减没。如果用Dinic,两次直接求出999+999。</p>
|
|
|
+<h3 id="代码">代码</h3>
|
|
|
+<p><a href="https://schtonn.github.io/404.html" target="_blank" rel="noopener"><code>404 Not Found(Click for more information)</code></a> 完结!</p>
|
|
|
|
|
|
</div>
|
|
|
|
|
@@ -328,7 +333,7 @@
|
|
|
|
|
|
<!--noindex-->
|
|
|
<div class="post-toc-wrap sidebar-panel">
|
|
|
- <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#前置知识"><span class="nav-number">1.</span> <span class="nav-text">&#x524D;&#x7F6E;&#x77E5;&#x8BC6;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#引入"><span class="nav-number">2.</span> <span class="nav-text">&#x5F15;&#x5165;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#朴素算法"><span class="nav-number">3.</span> <span class="nav-text">&#x6734;&#x7D20;&#x7B97;&#x6CD5;</span></a></li></ol></div>
|
|
|
+ <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#前置知识"><span class="nav-number">1.</span> <span class="nav-text">&#x524D;&#x7F6E;&#x77E5;&#x8BC6;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#引入"><span class="nav-number">2.</span> <span class="nav-text">&#x5F15;&#x5165;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#概念"><span class="nav-number">3.</span> <span class="nav-text">&#x6982;&#x5FF5;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#朴素算法"><span class="nav-number">4.</span> <span class="nav-text">&#x6734;&#x7D20;&#x7B97;&#x6CD5;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#dinic优化"><span class="nav-number">5.</span> <span class="nav-text">Dinic&#x4F18;&#x5316;</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#代码"><span class="nav-number">6.</span> <span class="nav-text">&#x4EE3;&#x7801;</span></a></li></ol></div>
|
|
|
</div>
|
|
|
<!--/noindex-->
|
|
|
|