hdu3879及ISAP模板(鏈式前向星)

2021-06-22 22:20:18 字數 833 閱讀 6439

題意不多說了,解題思路詳見胡波濤的《最小割模型在資訊學競賽的應用》**。

複習了一下鏈式前向星,雖然都是isap,但是寫起來還是有許多要注意的地方。詳細見**:

#include#include#include#include#include#define rep(i,a,b)	for (int i=a;i<(b+1);i++)

using namespace std;

const int maxn=60000;

const int maxm=600000;

const int inf=1<<28;

int n,m,cnt,head[maxn],pnt[maxm],nxt[maxm],flow[maxm],pre[maxn],d[maxn],iter[maxn],gap[maxn],s,t;

bool vis[maxn]=;

void addedge(int u,int v,int f)

void spfa() }}

int augement()

return f;

}int max_flow()

bool adv=false;

for (int &i=iter[u];i!=-1;i=nxt[i]) if (flow[i]&&d[u]==d[pnt[i]]+1)

if (!adv)

} return fl;

}int main()

int sum=0;

rep(i,1,m)

printf("%d\n",sum-max_flow());

} return 0;

}

hdu 3879 最大權閉包)

選擇了一條邊就會選擇兩個點,邊的花費為正,點的花費為負,把邊看成點,這個點向兩個端點連一條邊,表示選擇這條邊就會選擇這兩個點 然後題目就相當於最大權閉合圖的模型了 最大權閉包模型中vs與正收益的點連邊,負收益的點與vt連邊,容量取絕對值,然後點與點之間連容量為inf的邊 題意 有n個點,m個選擇,建...

hdu3879 網路流(經典最大獲利問題)

這題建圖自己想了半天搞不懂,然後看了一下別人的建圖。一臉茫然。最後去看了下胡波濤的 最小割模型在資訊學競賽的應用 裡面詳細的講解了將最大獲利問題轉換為最小割模型的過程。建圖 源點與人連邊,容量為獲利。站點與匯點連邊,容量為耗資。然後是相應的人與其需求的站點連邊,容量為無窮。這樣建圖就完成了,然後就是...

hdu 5458 樹鏈剖分模板

題意 給出一張n個點,m條邊的無向圖,有兩個操作 1.刪除 u,v 間的一條邊 2.如果刪除 u,v 間的一條邊可使其不連通,找出這樣的邊的個數,就是找 u,v 間橋的個數 思路 首先離線這些操作,時光倒流從最終狀態逆著加邊加回原圖,可以考慮用並查集建樹,然後以樹作為最終狀態,再樹鏈剖分預處理下,建...