青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

杰 & C++ & Python & DM

圖論最大網絡流(一) POJ 1273 解題報告

        題目鏈接http://acm.pku.edu.cn/JudgeOnline/problem?id=1273
        本題是最大流算法的簡單應用。
        最大網絡流的基本思想很簡單——從某個初始流開始,反復的增加流的流量知道不能再改進為止。最后得到的流將是一個最大流。
        定理P 是網絡 G 中從起點到終點滿足一下條件的一條路徑:
                  (a) 對P中的每條正向邊(i,j)Fij   <  Cij
                 
                (b)對P中的每條反向邊(i,j)Fij    >  0
                 設 D是由P中所有正向邊(i,j)對應的數和P中所有反向邊(i,j)對應的數組成。
                          Δ =min D
         
                                               Fij                   如果(i,j)不在P中
                     F*ij={  FijΔ  如果(i,j)在P中且是正向的
               Fij-Δ   如果(i,j)在P中且不是正向的


   根據上述定理,如果找不到路徑滿足上述定理,那么得到的流便是最大的。我們可以構造一個算法:
   1.從一個流開始;
   2.尋找一個滿足上述定理的路徑,如果這樣的路徑不存在,則停止,流是最大的;
   3.將流過這條路徑的流量增加△,轉到第2行。
   Ford-Fulkerson方法是按照上述定理構造,解決最大流問題的有效方法,一般采用深搜策略;而Edmonds-Karp算法是Ford-Fulkerson方法的廣搜的實現;相對而言,后者的效率稍微高一些。
        
      下面是POJ 1273的代碼,采用的是Edmonds-Karp算法。
   

 1#include <cstdio>
 2#include <queue>
 3const int INF=0x0fffffff;
 4const int SIZE=202;
 5
 6int bfs(int (*mat)[SIZE],int start,int end,int* path)
 7{
 8    int flow[SIZE];//存儲一次BFS遍歷之后流的可改進量;
 9    std::queue<int> q;
10    int i;
11    
12    for(i=0;i<SIZE;++i)
13        path[i]=-1;
14    path[start]=0,flow[start]=INF;
15
16    q.push(start);
17    while(!q.empty())
18    {
19        int top=q.front();
20        q.pop();
21        if(top==end) break;
22        for(i=1;i<=end;++i)
23        {
24            if(i != start && path[i]==-1 && mat[top][i])
25            {
26                flow[i]=flow[top]<mat[top][i] ? flow[top] : mat[top][i];
27                q.push(i);
28                path[i]=top;
29            }

30        }

31    }

32    if(path[end]==-1return -1;
33    return flow[end];
34
35
36}

37int Edmonds_Karp(int (*mat)[SIZE],int start,int end)
38{
39    int maxflow=0,step,cur,pre;
40    int path[SIZE];    ////存儲當前已訪問過的節點的增廣路徑;
41    while((step=bfs(mat,start,end,path)) != -1)//找不到增廣路徑時退出
42    {
43        maxflow += step;
44        cur=end;
45        while(cur != start)
46        {
47            pre=path[cur];
48            mat[pre][cur] -= step;    //更新正向邊的實際容量
49            mat[cur][pre] += step;    //添加反向邊
50            cur=pre;
51        }

52    }

53    return maxflow;
54}

55
56int main()
57{
58    int mat[SIZE][SIZE];
59    int vecNum,edgeNum;
60    int i;
61    int a,b,c;
62    
63    while(scanf("%d%d",&edgeNum,&vecNum)!=EOF)
64    {
65        memset(mat,0,sizeof(mat));
66        for(i=0;i<edgeNum;++i)
67        {
68            scanf("%d%d%d",&a,&b,&c);
69            mat[a][b]+=c;
70        }

71        
72        int re=Edmonds_Karp(mat,1,vecNum);
73        printf("%d\n",re);
74
75    }

76    return 0;    
77}

78

 


 

posted on 2009-04-26 19:18 jaysoon 閱讀(985) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC

<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章分類

文章檔案

收藏夾

C++

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲精品天堂一级| 亚洲永久在线观看| 亚洲国产高清高潮精品美女| 欧美日韩亚洲天堂| 欧美成人性网| 欧美精品在线观看| 欧美成人综合网站| 麻豆精品一区二区av白丝在线| 久久免费精品日本久久中文字幕| 西瓜成人精品人成网站| 亚洲自拍另类| 久久久久久成人| 久久爱www久久做| 久久成人一区二区| 欧美黑人在线播放| 欧美三级精品| 韩日欧美一区二区| 国产综合色精品一区二区三区| 国产一区二区av| 在线日韩中文| 日韩一区二区精品视频| 葵司免费一区二区三区四区五区| 久久九九热免费视频| 久久久久久尹人网香蕉| 午夜精品一区二区三区四区 | 亚洲欧美日韩综合| 亚洲一区二区三区四区中文| 亚洲欧美综合国产精品一区| 久久精品国产免费看久久精品| 亚洲无毛电影| 欧美成人tv| 日韩视频中文| 久久久久www| 欧美日韩精品高清| 国产欧美一区二区三区在线看蜜臀| 亚洲黄网站在线观看| 亚洲自拍电影| 欧美国产日韩精品| 午夜视频在线观看一区二区| 欧美国产日本| 国产精品wwwwww| 最新日韩在线| 欧美一区二区女人| 一本久久综合亚洲鲁鲁五月天| 久久本道综合色狠狠五月| 欧美日韩天堂| 日韩亚洲视频在线| 久久精品99国产精品酒店日本| 亚洲二区在线视频| 欧美一区三区三区高中清蜜桃| 欧美jizzhd精品欧美喷水| 欧美精品一区二区在线播放| 在线观看欧美视频| 欧美一级视频免费在线观看| 亚洲美女免费精品视频在线观看| 久久国产福利| 小黄鸭精品密入口导航| 国产精品美女午夜av| 亚洲免费av观看| 久久天天综合| 久久婷婷影院| 国产一区二区久久| 欧美一级播放| 性欧美videos另类喷潮| 欧美性猛片xxxx免费看久爱| 中日韩美女免费视频网站在线观看| 精品成人在线视频| 欧美在线观看网址综合| 性伦欧美刺激片在线观看| 国产精品毛片a∨一区二区三区| 亚洲国产精品一区制服丝袜| 欧美xxx成人| 欧美一区在线看| 久久婷婷人人澡人人喊人人爽| 亚洲成在人线av| 久久永久免费| 欧美xxxx在线观看| 亚洲全黄一级网站| 艳妇臀荡乳欲伦亚洲一区| 最新日韩精品| 欧美精品一区二区三区高清aⅴ| 欧美午夜精品久久久久久人妖| 999亚洲国产精| 亚洲韩日在线| 国产精品成人一区二区网站软件| 一区二区三区国产盗摄| 亚洲九九精品| 国产欧美日韩精品一区| 欧美在线国产| 日韩午夜激情| 国产在线观看精品一区二区三区| 欧美一区二区啪啪| 蜜臀av在线播放一区二区三区| 亚洲黄色有码视频| 亚洲激情第一页| 国产日韩一区二区三区| 久久久久久一区二区三区| 亚洲国产欧美在线| 国产精品青草综合久久久久99| 亚洲欧美一区二区三区久久| 久久精品91| 91久久精品一区二区别| 麻豆91精品| 欧美激情精品| 中日韩美女免费视频网址在线观看| 午夜精品在线看| 狠狠色综合网站久久久久久久| 欧美日韩亚洲三区| 久久先锋资源| 欧美日本视频在线| 亚洲精品视频在线看| 欧美亚洲综合在线| 亚洲黄色三级| 欧美成人免费观看| 欧美三级免费| 亚洲综合精品四区| 欧美激情精品久久久| 亚洲欧美日韩一区在线观看| 久久av一区二区| 99精品欧美一区二区三区| 亚洲伊人网站| 欧美激情日韩| 欧美亚洲综合网| 免费在线欧美视频| 性欧美video另类hd性玩具| 久久网站免费| 国产一区二区三区免费在线观看| 欧美国产乱视频| 国产精品视频福利| 国产偷国产偷精品高清尤物| 亚洲福利视频网| 久久综合色影院| 麻豆久久精品| 国产九九精品视频| 欧美亚洲在线视频| 欧美日本亚洲| 欧美成人一区二区三区片免费| 欧美精品日韩一本| 欧美黄色免费网站| 欧美激情国产日韩精品一区18| 国产精品毛片高清在线完整版| 国产裸体写真av一区二区| 欧美一级播放| 久久爱www.| 欧美亚洲尤物久久| 欧美三级视频| 亚洲精品一区二区网址 | 久久亚洲春色中文字幕久久久| 欧美日韩国产高清| 亚洲国产欧美一区二区三区丁香婷| 欧美成在线视频| 免费黄网站欧美| 国外成人在线视频| 久久av一区二区三区| 国产精品剧情在线亚洲| 亚洲视频狠狠| 亚洲精品国产精品国自产观看浪潮| 久久精选视频| 免费在线欧美黄色| 亚洲国产另类 国产精品国产免费| 久久久国产精品亚洲一区| 一区二区三区精品视频在线观看| 欧美一区2区三区4区公司二百| 亚洲在线观看| 国产精品少妇自拍| 亚洲免费在线精品一区| 欧美在线free| 久久性天堂网| 亚洲国产美女| 亚洲网站视频| 国产麻豆日韩欧美久久| 销魂美女一区二区三区视频在线| 国产在线精品自拍| 久久九九全国免费精品观看| 国产又爽又黄的激情精品视频| 欧美在线视频免费播放| 美日韩精品免费| 亚洲精品影视| 欧美99久久| 中文精品视频| 久久精品理论片| 亚洲大胆人体视频| 欧美国产综合| 亚洲国产成人在线| 亚洲免费影视第一页| 国产一区清纯| 欧美日韩成人精品| 一区二区三区日韩精品| 久久久久久久久久码影片| 亚洲国产成人av| 久久精品卡一| aa级大片欧美三级| 亚洲伊人网站| 亚洲二区视频| 欧美高清一区二区| 亚洲图片欧美午夜| 久色成人在线| 亚洲综合清纯丝袜自拍| 国产精品久久久久久久久久直播| 久久久精品网|