[筆記] 建圖
阿新 • • 發佈:2022-03-03
費用流
積木大賽
模型概述
一個長度為 \(n\) 的序列 \(a_i\),對於區間 \([l,r]\) 減一的費用為 \(c_{i,0}\),加 \(1\) 的費用為 \(c_{i,1}\),問最少使 \(a_i\) 都變為 \(0\) 的費用。
建圖概述
差分之後,相當於對某一對單點的加減,按照最終需要的結果算出每個位置的需要加減權值。
將 \(T\) 連正權,負權連 \(S\),中間的連邊按照代價連。
習題
[YZOJ] 7087 pandemic \(√\)
[DMOJ] DMOPC '20 Contest 7 P3 Senpai and Art \(√\)
最小路徑覆蓋
模型概述
給出 \(n\)
建圖概述
這個問題相當於在圖上選擇符合要求的若干條路徑。
考慮到每個點的經過次數是固定的,實際上並不關心每條路徑的整個走向,而只關心每條路徑的相鄰兩點到底是誰走向誰。
不妨把每個點拆成 \(i,i'\),然後連邊 \({\rm add}(S\ , i\ , a_i\ ,0)\ ,{\rm add}(i'\ ,T\ ,a_i\ ,0)\ ,{\rm add}(i\ ,j'\ ,\infty\ , p_{i,j})\).
習題
P4298 [CTSC2008]祭祀
P4553 80人環遊世界 \(√\)
P1251 餐巾計劃問題 \(√\)
P2469 [SDOI2010]星際競速
優化建圖
-
字首和優化建圖
-
線段樹優化建圖
-
虛點優化建圖