HDU 5889 最短路加網路流

2021-07-22 22:53:27 字數 1102 閱讀 2457

題意: 乙個無向圖,每條邊距離為1,從n走到1,的最短路。。然後每個路有個價值,求一下最小割

思路:裸題。。手殘bfs總是寫錯,後來換成spfa列舉一下就好了。。注意!!!新圖建單向邊來跑最短路。

**:#include #include #include #include #include #include using namespace std;

const int maxn=1100;

int maze[maxn][maxn];

int zdis[maxn];

int vis[maxn];

int gap[maxn],dis[maxn],pre[maxn],cur[maxn];

const int inf=1e9+7;

struct edge

};struct t

};int tmp[maxn];

vectore[maxn];

vectorz;

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

void add(int u,int v,int w)

int cnt[maxn];//每個點的入佇列次數

int dist[maxn];

int n,m;

bool spfa(int start,int n)}}

}return true;

}void init()

int sap(int start,int end,int nodenum)

aug=-1;

}goto loop;

}int mindis=nodenum-1;

for(int v=0; vdis[v])

if((--gap[dis[u]])==0)break;

gap[dis[u]=mindis+1]++;

u=pre[u];

}return maxflow;

}int main()

{ int t;

cin>>t;

while(t--){

scanf("%d%d",&n,&m);

int a,b,c;

init();

for(int i=0;i

zoj 2760 最短路 網路流

題意 求乙個有向圖起點到終點的邊不相交的最短路徑的條數。思路 曾經乙個求最短路的類似,這題你找出來所有的最短路所包含的邊就可以,然後跑一邊網路流即可 include using namespace std const int maxn 400 const int maxm 160000 const ...

網路流24題 汽車加油行駛 最短路

為什麼網路流24題裡會有最短路 原題走這裡 題目描述比較繁瑣,重點在於如何建圖 題目中乙個重要的點就是 加滿油後可以行駛k格 可以將其視作為讓汽車油量變為k,汽車每走一格就消耗一單位油,沒油時就要再加油 k 10一看就知道是分層圖最短路 1 k每一種油量建一層圖 每走一格就會少一單位油,也就是連到下...

網路流 24 題 孤島營救問題 最短路

題意 給你乙個n m的圖,你要從 1,1 出發到達 n,m 路上會有最多p種牆和鑰匙。接下來會給你k個門,在x1,y1,x2,y2之間會有一扇ki型別的門,如果ki為0,那麼無法穿過,否則你要拿到對應ki的鑰匙才可以穿過,同理接下來會有s把鑰匙,這些鑰匙在xi,yi處,型別為ki。每走一步需要1的時...