關於網路流的一些經驗(一)

2021-07-10 05:52:34 字數 1410 閱讀 2854

前幾天做了一些題:

noi2006 最大獲利:

『其實最大權閉合圖我是分類討論出來的』

題意:每個點有代價,某些特定的兩個點組合會產生乙個收益,求最大收益、、、

一開始覺得是乙個裸的最大流,但是顯然不能知道怎麼建出最大流的收益、、、

於是考慮逆向思維:看題解

看到最小割之後把網頁關了『然後就做了個奇葩思路』。

考慮我已經獲得了總的組合收益,現在有一些收益我不能獲得,那麼使得不能獲得的收益最小即可。

我們對每個點向t連一條它的代價,對它們的組合收益這樣連邊:

如果選1而不選2,那麼會丟掉組合收益,這樣的話對應到割中就是1->2,選2而不選1,會丟掉組合收益,所以把s向1連一條邊。兩個都不選,會丟掉組合收益,但是注意到s已經和1連一條邊了,也就是說我們不用再次連邊了、、、

這個奇葩的連法就是這樣、、、

經驗:在收益問題上、、、如果能將方案對應到割、、、那麼可以考慮最小割模型、、、

topcoder 某個鯊魚題:

題意:有一群鯊魚,它們有長寬高,一條鯊魚能被另一條鯊魚吃掉當且僅當被吃的鯊魚三圍均小於另一條,然而一條鯊魚最多吃兩條鯊魚。問最少剩幾個鯊魚。

考慮逆向思維:

考慮最少剩幾條,就看它最多能被吃掉幾條、、、

一開始考慮拆點給一條鯊魚進行限制、、、

後來(問了神犇後)發現拆點是不對的、、、

想到乙個顯然的建圖方法:

我們給每個鯊魚乙個能源為2,意思是它最多能吃兩個鯊魚,即:

s -> u :2

複製一排鯊魚,並且連上能吃的鯊魚,然後跑最大流、、、

經驗:考慮逆向思維、、求什麼東西最大,可以求另外相對應的最小、、、

vijos 1524(水)

乙個迷宮,無向圖,人在點1處,迷宮有許多出口,切斷一條邊的代價是它的長度、、、求不讓人出去的最小代價、、、

我們考慮:

實際上這個圖分為兩個部分:

1.從1能到達的部分。

2.不能到達的部分。

將問題轉化為割、、、

發現每個割都對應這一種方案、、、割邊就是被看守住的邊、、、

建圖:

s就是點1,然後每條邊按照原圖走,注意無向邊

如果存成有向邊意味著:

有些出口很可能箭頭方向畫反就不用看守、、、

實際上還是要看守的、、、

存成無向邊即可、、、把出口和t連乙個inf的邊,意味著s中不能選出口、、、

經驗:對於乙個無向圖、、、我們要仔細斟酌它的割邊、、、因為割邊是對應的容量、、、即去掉某條邊的代價、、、

總之上述問題還是注意一下的好、、、

一些網路流。

poj 3281 題意 每一頭牛都有它喜歡吃的食物和飲料,問最多能滿足多少頭牛 讓它吃到它喜歡吃的食物和飲料。思路 從源點s對每乙個食物連一條邊,容量為1,然後食物對喜歡吃這種食物的牛連邊,容量也為1,然後每頭牛連一條邊到喜歡吃的飲料 容量也為1。每個飲料連邊到匯點,容量為1。這樣圖構好了,但是每頭...

一些網路流知識

有向圖 點無容量不用說,點有容量拆點。無向圖 點無容量 正反邊都有容量。點有容量 拆點,乙個代表出點,乙個代表入點,入到出有點容量,出點連其他點入點。以上是基本構圖。最大匹配 最小點覆蓋 所有定點數 最大獨立集 最小邊覆蓋 最小路徑覆蓋 原圖點數 新圖最大匹配 最小路徑覆蓋要拆點做 以下 n支球隊打...

AND一些經驗

目錄 一 參考 1 程式設計師2020工作規範范文 總結 good 適合多看,程式設計師每天 每月做的事情總結了 一 目的 1 在公司來了很久了,有時候一些經驗想把記錄下來,專案 做人 等等 一 專案 1 板卡 pci2012a分為支援和不支援音效卡的 一 做人 1 不要過度依賴別人 1 有問題立馬...