• <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>
            posts - 18,  comments - 5,  trackbacks - 0

            一、定義與定理
                  最小費(fèi)用最大流:設(shè)G是以s為源t為匯的網(wǎng)絡(luò),c是G的容量,b是G的單位流量費(fèi)用,且有b[i][j] = -b[i][j],f是G的流,則b(f)=∑(fij*bij),(i, j)∈E(G) 且fij>0。最小費(fèi)用最大流問(wèn)題,就是求網(wǎng)絡(luò)G的最大流f且使費(fèi)用b(f)最小。這樣的流稱為最小費(fèi)用最大流。
            二、算法思想
                  用Ford-Fulkerson算法的思想,不斷地在殘留網(wǎng)絡(luò)中尋找增廣路,只不過(guò)這個(gè)增廣路是當(dāng)前網(wǎng)絡(luò)中s到t的以單位流量費(fèi)用為權(quán)的最短路,對(duì)這條增廣路進(jìn)行操作。由于費(fèi)用有負(fù)值,建議用SPFA算法。
            三、算法介紹
                  描述:

            1 MCMF(G, s, t)
            2     for each edge(u, v) in E(G)
            3         do f[u, v] = 0
            4            f[v, u] = 0
            5     while exists a path p from s to t in Gf and p is the shortest path
            6         do cf(p) = min{cf(u, v) : (u, v) in p}
            7            for each edge(u, v) in p
            8                do f[u, v] = f[u, v] + cf(p)
            9                   f[v, u] = - f[u, v]
                  實(shí)現(xiàn):
             1mcmf()
             2{
             3    while(true)
             4    {
             5        for(int i=1; i<=n+m+1; i++)
             6            d[i] = MAX;
             7        d[s] = 0;
             8        spfa(); //p中存有該點(diǎn)的前繼點(diǎn)
             9        if(p[t] == -1//表示已無(wú)增廣路
            10            break;
            11        int minf = INT_MAX;
            12        int it = t;
            13        while(p[it] != -1)
            14        {
            15            minf = min(minf, c[p[it]][it] - f[p[it]][it]);
            16            it = p[it];
            17        }

            18        it = t;
            19        while(p[it] != -1)
            20        {
            21            f[p[it]][it] += minf;
            22            f[it][p[it]] = -f[p[it]][it];
            23            it = p[it];
            24        }

            25    }

            26}

            三、算法示例
                  POJ 2516 解題報(bào)告
            posted on 2009-06-30 22:29 Icyflame 閱讀(5825) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖論
            亚洲国产精品人久久| 色诱久久久久综合网ywww| 国产高潮国产高潮久久久91 | 久久精品国产亚洲沈樵| 久久综合久久综合久久| 午夜精品久久久内射近拍高清| 人妻少妇久久中文字幕| 久久久久久久国产免费看| 韩国免费A级毛片久久| 久久精品国产精品亚洲人人| 亚洲午夜久久久久妓女影院 | 国产精品美女久久久久久2018| 久久国产精品偷99| 久久久久久精品久久久久| 四虎国产永久免费久久| 亚洲中文字幕久久精品无码APP | 久久国产欧美日韩精品| 国产AⅤ精品一区二区三区久久 | 性高湖久久久久久久久| 99久久精品免费看国产一区二区三区 | 久久久精品人妻一区二区三区蜜桃| 国产亚洲欧美成人久久片| 久久精品卫校国产小美女| 久久精品这里只有精99品| 99久久精品国产综合一区| 四虎国产精品免费久久5151| 日产精品久久久一区二区| 中文字幕久久精品无码| 久久综合鬼色88久久精品综合自在自线噜噜 | 伊人久久大香线蕉亚洲五月天| 久久久久国产一区二区| 国产99久久九九精品无码| 午夜不卡888久久| 国产精品久久久久久福利漫画 | 久久国产福利免费| 国产成人99久久亚洲综合精品| 99久久精品免费看国产免费| 久久久久久国产精品免费免费| 久久精品国产只有精品66| 久久亚洲色一区二区三区| 亚洲国产成人久久综合一区77|