• <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>

            pku2135 Farm Tour 經典最小費用流

            不說什么,求a到b的兩條不相交路徑,使得總費用最少。你懂的。。(話說。。第一次手寫最少費用流,以前都直接Ctrl+A,Ctrl+C,Ctrl+V直接模板~)
            代碼:
             1 # include <cstdio>
             2 # include <cstring>
             3 # include <cstdlib>
             4 using namespace std;
             5 struct node
             6 {
             7    int p,c,e,s,nxt;
             8 }edge[50000];
             9 int g[1005],cc=0,n,m;
            10 void insert(int s,int e,int c,int p)
            11 {
            12    edge[cc].p=p;
            13    edge[cc].nxt=g[s];
            14    edge[cc].e=e;
            15    edge[cc].s=s;
            16    edge[cc++].c=c;
            17    edge[cc].p=-p;
            18    edge[cc].nxt=g[e];
            19    edge[cc].e=s;
            20    edge[cc].s=e;
            21    edge[cc++].c=0;
            22 };
            23 int pre[1005];
            24 int min(int a,int b)
            25 {
            26     return a<b?a:b;
            27 }
            28 int callen(int s,int e)
            29 {
            30     int len[1005];
            31     memset(len,-1,sizeof(len));
            32     len[s]=0;
            33     for(int i=0;i<n+2;i++)
            34       for(int j=0;j<cc;j++)
            35         if(edge[j].c>0&&len[edge[j].s]!=-1&&(len[edge[j].e]==-1||len[edge[j].e]>len[edge[j].s]+edge[j].p))
            36           len[edge[j].e]=len[edge[j].s]+edge[j].p,pre[edge[j].e]=j;
            37    return len[e];
            38 }
            39 int calmin(int s,int e)
            40 {
            41     if(e==s) return 0xfffffff;
            42     else return min(calmin(s,edge[pre[e]].s),edge[pre[e]].c);
            43 }
            44 void adjust(int s,int e,int minnum)
            45 {
            46      if(e==s) return;
            47      else
            48      {
            49          edge[pre[e]].c-=minnum;
            50          edge[pre[e]^1].c+=minnum;
            51          adjust(s,edge[pre[e]].s,minnum);
            52      }
            53 }
            54 int max_flow(int s,int e)
            55 {
            56     int p=0;
            57     while(true)
            58     {
            59         int len=callen(s,e);
            60         if(len==-1return p;
            61         else
            62         {
            63             int minnum=calmin(s,e);
            64             adjust(s,e,minnum);
            65             p+=minnum*len;
            66         }  
            67     }
            68 }
            69 int main()
            70 {
            71     int data[10000][3];
            72     scanf("%d%d",&n,&m);
            73     for(int i=0;i<m;i++)
            74       scanf("%d%d%d",&data[i][0],&data[i][1],&data[i][2]);
            75     int best=0xfffffff;
            76 
            77        cc=0
            78        insert(0,1,2,0);
            79        insert(n,n+1,2,0);
            80        for(int j=0;j<m;j++)
            81           insert(data[j][0],data[j][1],1,data[j][2]),insert(data[j][1],data[j][0],1,data[j][2]);
            82        int p=max_flow(0,n+1);
            83          best=min(best,p);
            84     
            85     printf("%d\n",best);
            86    // system("pause");
            87     return 0;
            88 }
            89 

            posted on 2011-03-13 02:29 yzhw 閱讀(271) 評論(1)  編輯 收藏 引用 所屬分類: graph

            評論

            # re: pku2135 Farm Tour 經典最小費用流[未登錄] 2011-03-26 17:55 viaxl

            早上我看你沒了我就呲啦把衛生巾撕了!
            結果中午你又來了一小點!
            好的 算我失誤!那我洗了短褲重新再把衛生巾墊上!
            一個下午你再沒影了那我又把衛生巾給撕了!
            結果晚上睡覺前我發現你又來了!我又要洗短褲了!
            這樣是不是很好玩!你說啊是不是很好玩!
            這不是洗多少短褲的問題!
            而是我和你之間的信任問題!!!!!  回復  更多評論   

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国产成人精品久久二区二区| 久久精品人人做人人妻人人玩| 色综合合久久天天综合绕视看| 亚洲狠狠综合久久| 久久人妻少妇嫩草AV无码蜜桃| 国产精品美女久久久网AV| 欧美久久久久久| 久久99精品国产麻豆宅宅| 久久国产热这里只有精品| 99精品国产综合久久久久五月天| 好久久免费视频高清| 2021国内久久精品| 精品久久久久久无码中文字幕| 亚洲综合精品香蕉久久网| 国产综合精品久久亚洲| 久久综合九色综合网站| 亚洲精品国产综合久久一线| 久久精品九九亚洲精品天堂 | 日本人妻丰满熟妇久久久久久| 国产亚洲精品美女久久久| 久久婷婷是五月综合色狠狠| 久久综合久久久| 99久久国产热无码精品免费 | 精品久久久久久无码专区不卡| 久久精品无码免费不卡| 久久精品国产99国产精偷 | 久久国产午夜精品一区二区三区| 久久精品国产99国产精品导航 | 久久有码中文字幕| 久久精品亚洲乱码伦伦中文| 久久久精品免费国产四虎| 国产精品美女久久久| 久久精品人人做人人爽97 | 久久久99精品一区二区| 久久午夜电影网| 国产精品久久久久aaaa| 国产精品久久影院| 91久久精品视频| 久久久久黑人强伦姧人妻| 久久精品中文字幕有码| 色天使久久综合网天天|