• <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年12月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            99久久精品无码一区二区毛片| 久久精品国产亚洲77777| 久久综合亚洲色HEZYO社区| 国内精品伊人久久久久网站| 久久综合丁香激情久久| 91久久精品电影| 日韩亚洲国产综合久久久| 国产成人久久777777| 久久久久久久精品妇女99| 99久久精品国产高清一区二区| 久久国产乱子伦免费精品| 亚洲精品tv久久久久久久久久| 久久久久免费精品国产| 精品久久久久久国产三级| 亚洲AV日韩AV永久无码久久| 狠狠色丁香婷综合久久| 久久久久久综合网天天| 精品国产乱码久久久久软件| yellow中文字幕久久网| 久久综合综合久久97色| 999久久久免费精品国产| 日韩精品无码久久久久久| 久久久久久国产a免费观看黄色大片 | 久久99精品国产麻豆蜜芽| 国产成人久久精品区一区二区| 久久久久亚洲AV无码专区桃色| 久久国产影院| 性做久久久久久久久浪潮| 久久福利资源国产精品999| 色老头网站久久网| 久久综合九色综合网站| 午夜精品久久久久久99热| 久久精品国产免费一区| 久久久久久久综合综合狠狠| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久久91精品国产一区二区三区 | 狠狠色丁香婷婷综合久久来来去| 精品无码久久久久久久动漫| 亚洲伊人久久综合影院| 无遮挡粉嫩小泬久久久久久久| 色综合合久久天天综合绕视看|