20240701總結(網路流)

星河倒注發表於2024-07-01

A - Flow Problem

HDU3549 Flow Problem
題解:網路流版題,甚至今天早上我還只會EK(辛虧卡EK的沒那麼多,但是還是被迫學習dinic)

B - War

HDU-3599 War
題意:求1到n最短路徑(無向邊)的最大條數(一條邊不能重複經過)

題解:題面就讓人難懂,好像出題人在考生活實際和理解能力。看懂題就簡單了,先跑一個dijkstra求所有可能在最短路徑上的邊,設流量為1,直接跑最大流。

這題還有一個坑點,n可以等於1,不判掉可能一直在原地打轉

C - Drainage Ditches

P2740 [USACO4.2] 草地排水Drainage Ditches
題解:剛才那道題的讀題心理陰影就夠嚴重了,鬼知道這題先輸入m再輸入n......
仍然是看懂題就十分簡單,最大流版題

D - Petya and Graph

CF1082G Petya and Graph
題解:發現題目滿足最小割的要求:

  • 1.每個點只有選或不選兩種狀態
  • 2.每個點狀態確定則答案確定

(當然還有資料範圍)於是可以轉化為最小割做。具體來說,最小割解決的是最小問題,題目要求的是最大值,那麼直接反著做。

考慮先選所有的邊,以答案減少量為貢獻計算最小貢獻:

  • 1.若選i號點,貢獻為點權
  • 2.若不同時選一條邊上的兩個點,貢獻為邊權

第一種很好建邊(i直接連匯點t,邊權為點權),第二種則可以先建一個點p連線源點s,再連線p和這兩個點,三條邊流量均為原圖上這條邊的邊權

E - Card Game

CF808F Card Game
題解:第一步顯然二分答案,接下來怎麼辦呢?

題目給了一個很特殊的條件,不能選兩張魔力值之和是質數的卡片,而除2以外的所有質數都是奇數。也就是魔力值相加為偶數且不是2的卡片一定不會衝突。

那麼先不管2的情況,我們可以把魔力值按照奇偶分類,只有奇偶之間才有可能有矛盾,那這不就是一個二分圖嗎?再考慮魔力值之和正好為2,也就是兩個都為1。我們只需要選擇一個能力值最大的滿足二分條件的即可。

這樣一個最小割的模型就很好構造了

F - Economic Difficulties

CF1263F Economic Difficulties
題解:這個最小割模型構造挺簡單的,但是別忘記這是一棵樹,肯定是不能刪掉父親不刪兒子的,所以需要多連這一類邊。還有,兩棵樹的連法是對稱的,比如a樹是父親連兒子而b樹是兒子連父親。最後,千萬不要把根節點連到源點或匯點上!