<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SAP模板

      用的是kuangbin的模板:http://www.rzrgm.cn/kuangbin/archive/2012/09/29/2707955.html

        1 const int MAXN=20010;//點數的最大值
        2 const int MAXM=880010;//邊數的最大值
        3 const int INF=0x3f3f3f3f;
        4 
        5 struct Node
        6 {
        7     int from,to,next;
        8     int cap;
        9 }edge[MAXM];
       10 int tol;
       11 int head[MAXN];
       12 int dep[MAXN];
       13 int gap[MAXN];//gap[x]=y :說明殘留網絡中dep[i]==x的個數為y
       14 
       15 int n;//n是總的點的個數,包括源點和匯點
       16 
       17 void init()
       18 {
       19     tol=0;
       20     memset(head,-1,sizeof(head));
       21 }
       22 
       23 void addedge(int u,int v,int w)
       24 {
       25     edge[tol].from=u;
       26     edge[tol].to=v;
       27     edge[tol].cap=w;
       28     edge[tol].next=head[u];
       29     head[u]=tol++;
       30     edge[tol].from=v;
       31     edge[tol].to=u;
       32     edge[tol].cap=0;
       33     edge[tol].next=head[v];
       34     head[v]=tol++;
       35 }
       36 void BFS(int start,int end)
       37 {
       38     memset(dep,-1,sizeof(dep));
       39     memset(gap,0,sizeof(gap));
       40     gap[0]=1;
       41     int que[MAXN];
       42     int front,rear;
       43     front=rear=0;
       44     dep[end]=0;
       45     que[rear++]=end;
       46     while(front!=rear)
       47     {
       48         int u=que[front++];
       49         if(front==MAXN)front=0;
       50         for(int i=head[u];i!=-1;i=edge[i].next)
       51         {
       52             int v=edge[i].to;
       53             if(dep[v]!=-1)continue;
       54             que[rear++]=v;
       55             if(rear==MAXN)rear=0;
       56             dep[v]=dep[u]+1;
       57             ++gap[dep[v]];
       58         }
       59     }
       60 }
       61 int SAP(int start,int end)
       62 {
       63     int res=0;
       64     BFS(start,end);
       65     int cur[MAXN];
       66     int S[MAXN];
       67     int top=0;
       68     memcpy(cur,head,sizeof(head));
       69     int u=start;
       70     int i;
       71     while(dep[start]<n)
       72     {
       73         if(u==end)
       74         {
       75             int temp=INF;
       76             int inser;
       77             for(i=0;i<top;i++)
       78                if(temp>edge[S[i]].cap)
       79                {
       80                    temp=edge[S[i]].cap;
       81                    inser=i;
       82                }
       83             for(i=0;i<top;i++)
       84             {
       85                 edge[S[i]].cap-=temp;
       86                 edge[S[i]^1].cap+=temp;
       87             }
       88             res+=temp;
       89             top=inser;
       90             u=edge[S[top]].from;
       91         }
       92         if(u!=end&&gap[dep[u]-1]==0)//出現斷層,無增廣路
       93           break;
       94         for(i=cur[u];i!=-1;i=edge[i].next)
       95            if(edge[i].cap!=0&&dep[u]==dep[edge[i].to]+1)
       96              break;
       97         if(i!=-1)
       98         {
       99             cur[u]=i;
      100             S[top++]=i;
      101             u=edge[i].to;
      102         }
      103         else
      104         {
      105             int min=n;
      106             for(i=head[u];i!=-1;i=edge[i].next)
      107             {
      108                 if(edge[i].cap==0)continue;
      109                 if(min>dep[edge[i].to])
      110                 {
      111                     min=dep[edge[i].to];
      112                     cur[u]=i;
      113                 }
      114             }
      115             --gap[dep[u]];
      116             dep[u]=min+1;
      117             ++gap[dep[u]];
      118             if(u!=start)u=edge[S[--top]].from;
      119         }
      120     }
      121     return res;
      122 }

       

      posted @ 2016-10-28 16:24  Esieve  閱讀(408)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产永久免费高清在线观看| 99久热在线精品视频| 特黄aaaaaaa片免费视频| 亚洲无av中文字幕在线| 亚洲综合黄色的在线观看| 亚洲人成电影在线天堂色| 高清中文字幕一区二区| 国产亚洲av手机在线观看| 国产成人亚洲综合图区| 五月综合激情婷婷六月色窝| 国产区成人精品视频| 精品午夜福利在线视在亚洲| 亚洲旡码欧美大片| 国产日产亚洲系列最新| 久久精品国产九一九九九| 久视频久免费视频久免费| 国内不卡的一区二区三区| 欧洲精品色在线观看| 亚洲欧美日本久久网站| 插插无码视频大全不卡网站| 久久国产精品日本波多野结衣| 国产午夜福利小视频在线| 人妻精品中文字幕av| 这里只有精品在线播放| 任我爽精品视频在线播放| 国产人成精品一区二区三| 精品无码国产不卡在线观看| 亚洲大尺度无码无码专线| 亚洲线精品一区二区三区| 宅男久久精品国产亚洲av麻豆| 国产在线一区二区不卡| 老色99久久九九爱精品| 午夜毛片不卡免费观看视频| 日韩精品中文字幕无码一区| 国厂精品114福利电影免费| 北岛玲亚洲一区二区三区| 亚洲欧洲色图片网站| 国产精品va在线观看无码不卡| 中日韩黄色基地一二三区| 狠狠躁夜夜躁人人爽天天古典| 我国产码在线观看av哈哈哈网站|