多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > poj 3422 Kaka's Matrix Travels 費用流

poj 3422 Kaka's Matrix Travels 費用流

來源:程序員人生   發布時間:2015-04-14 08:46:14 閱讀次數:3508次

題意:

給1個n*n的矩陣,每次從左上角走到右下角并取走其中的數,求走k次能取到的最大和。

分析:

費用流邊的容量有限制的作用,費用有求和的作用,對每一個點只能取1次,容易想到把這個點拆成兩個點并連上容量為1,費用為該點數的邊。但明顯有的流要“跳過”這個點,如何處理呢?可以加1條容量為無窮,費用為0的邊,這樣不參加這點費用計算的流就能夠"跳過"這個點了。

代碼:

//poj 3422 //sep9 #include <iostream> #include <queue> using namespace std; const int maxN=10024; const int maxM=20024; struct Edge { int v,f,w,nxt; }e[4*maxM+10]; int g[maxN+10]; int nume,src,sink; queue<int> Q; bool inq[maxN+10]; int dist[maxN+10]; int prev[maxN+10],pree[maxN+10]; void addedge(int u,int v,int c,int w) { e[++nume].v=v;e[nume].f=c;e[nume].w=w;e[nume].nxt=g[u];g[u]=nume; e[++nume].v=u;e[nume].f=0;e[nume].w=-w;e[nume].nxt=g[v];g[v]=nume; } bool find_path() { while(!Q.empty()) Q.pop(); memset(dist,⑴,sizeof(dist)); memset(inq,false,sizeof(inq)); Q.push(src); inq[src]=true; dist[src]=0; while(!Q.empty()){ int u=Q.front();Q.pop(); inq[u]=false; for(int i=g[u];i;i=e[i].nxt){ if(e[i].f>0&&dist[u]+e[i].w>dist[e[i].v]){ dist[e[i].v]=dist[u]+e[i].w; prev[e[i].v]=u; pree[e[i].v]=i; if(!inq[e[i].v]){ Q.push(e[i].v); inq[e[i].v]=true; } } } } return dist[sink]==⑴?false:true; } int max_cost_flow(int f) { int res=0; while(f>0){ if(find_path()==false) return ⑴; int d=f; for(int v=sink;v!=src;v=prev[v]) d=min(d,e[pree[v]].f); f-=d; res+=d*dist[sink]; for(int v=sink;v!=src;v=prev[v]){ e[pree[v]].f-=d; e[pree[v]^1].f+=d; } } return res; } void init() { memset(g,0,sizeof(g)); nume=1; } int main() { init(); int i,j,n,k; scanf("%d%d",&n,&k); src=2*n*n,sink=src+1; for(i=0;i<n;++i) for(j=0;j<n;++j){ int x; scanf("%d",&x); int u=i*n+j; int v=u+n*n; addedge(u,v,1,x); addedge(u,v,INT_MAX,0); if(i>0){ int t=(i⑴)*n+j+n*n; addedge(t,u,INT_MAX,0); } if(j>0){ int t=i*n+(j⑴)+n*n; addedge(t,u,INT_MAX,0); } } addedge(src,0,k,0); addedge(2*n*n⑴,sink,k,0); printf("%d",max_cost_flow(k)); return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: hh99me福利毛片在线看 | 国产福利一区二区三区 | 性欧美f| 日本二区免费一片黄2019 | 欧美日韩加勒比一区二区三区 | 国产区一区 | 国产精品久久久影院 | 午夜性a一级毛片 | 亚洲欧洲高清 | 最近免费中文字幕高清大全 | 欧美黑人巨大videos极品视频 | 欧美白人黑人xxxx猛交 | 欧美一级网址 | 亚洲色大成网站www久久九九 | 成人免费性视频 | 亚洲一区二区影院 | 亚洲在线看 | 色亚洲影院 | 成人77777| 国产高清在线精品一区 | 国内自拍偷拍 | 欧美多人| 最近中文字幕免费高清版7 最近中文字幕免费国语 | 欧美一级欧美三级 | 国产一区二区视频在线 | 日本不卡视频 | 麻豆精品国产自产在线 | 一二三四视频社区5在线高清视频 | 欧美一区二区视频在线观看 | 免费网站在线观看国产v片 免费网站在线看 | 国产v片在线观看 | 亚洲三级久久 | 亚洲三级在线视频 | 亚洲国产精品综合一区在线 | 日韩老女人 | 叼嘿免费| 性做久久久久久 | 亚洲欧美专区精品伊人久久 | 精品伊人久久大香线蕉网站 | 久久精品国产99久久无毒不卡 | 亚洲精品乱码久久久久久蜜桃欧美 |