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

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

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

      有毒的粽子

      藍橋杯 算法訓練 Remember the A La Mode

      費用流裸題

      要注意的是浮點數判斷

      #include <bits/stdc++.h>
      using namespace std;
      typedef long long ll;
      const int N=100005;
      int cur[N],head[N],vis[N];
      double dis[N];
      const double inf=0x7fffffff;
      const double eps=1e-6;
      struct ss
      {
          int u,v;
          int w;
          double val;
      }e[N];
      int n,m,s,t,cnt=1;
      int aa[555];
      int bb[555];
      double cc[55][55];
      double ret=0;
      inline void add(int u,int v,int w,double val)
      {
          cnt++;
          e[cnt].v=v;
          e[cnt].w=w;
          e[cnt].val=val;
          e[cnt].u=head[u];
          head[u]=cnt;
      }
      inline void addedge(int u,int v,int w,double val)
      {
          add(u,v,w,val);
          add(v,u,0,-val);
      }
      inline int spfa()
      {
          for(int i=s;i<=t;++i)dis[i]=inf;
          vis[s]=1;
          dis[s]=0;
          queue<int>q;
          while(!q.empty())q.pop();
          q.push(s);
          while(q.size())
          {
              int u=q.front();
              q.pop();
              vis[u]=0;
              for(int i=head[u];i;i=e[i].u)
              {
                  int v=e[i].v;
                  int w=e[i].w;
                  //if(w&&dis[v]>dis[u]+e[i].val)
                  if(w&&((dis[v]-(dis[u]+e[i].val))>eps))
                  {
                      dis[v]=dis[u]+e[i].val;
                      if(!vis[v])
                      {
                          vis[v]=1;
                          q.push(v);
                      }
                  }
              }
          }
          return fabs(inf-dis[t])<eps?0:1;//dis[t]!=inf;
      }
      inline int dfs(int u,int flow)
      {
          if(u==t)return flow;
          int rest=flow;
          vis[u]=1;
          for(int i=cur[u];i&&rest;i=e[i].u)
          {
              cur[u]=i;
              int v=e[i].v;
              int w=e[i].w;
              if(w&&!vis[v]&&(fabs(dis[v]-(dis[u]+e[i].val))<eps))
              {
                  int k=dfs(v,min(w,rest));
                  if(k)
                  {
                      ret+=k*e[i].val;
                      e[i].w-=k;
                      e[i^1].w+=k;
                      rest-=k;
                  }
              }
          }
          vis[u]=0;
          return flow-rest;
      }
      int main()
      {
          scanf("%d%d",&n,&m);
          s=0;t=n+m+1;
          for(int i=1;i<=n;++i)
          {
              scanf("%d",&aa[i]);
              addedge(s,i,aa[i],0);
          }
          for(int i=1;i<=m;++i)
          {
              scanf("%d",&bb[i]);
              addedge(i+n,t,bb[i],0);
          }
          for(int i=1;i<=n;++i)
          {
              for(int j=1;j<=m;++j)
              {
                  scanf("%lf",&cc[i][j]);
                  if(fabs(cc[i][j]+1)<eps)continue;
                  addedge(i,j+n,aa[i],cc[i][j]);
              }
          }
          while(spfa())
          {
              for(int i=s;i<=t;++i)cur[i]=head[i];
              dfs(s,inf);
          }
          printf("%.2f to ",ret);
          cnt=1;
          ret=0;
          for(int i=s;i<=t;++i)head[i]=0;
          for(int i=1;i<=n;++i)addedge(s,i,aa[i],0);
          for(int i=1;i<=m;++i)addedge(i+n,t,bb[i],0);
          for(int i=1;i<=n;++i)
          {
              for(int j=1;j<=m;++j)
              {
                  if(fabs(cc[i][j]+1)<eps)continue;
                  addedge(i,j+n,aa[i],-cc[i][j]);
              }
          }
          while(spfa())
          {
              for(int i=s;i<=t;++i)cur[i]=head[i];
              dfs(s,inf);
          }
          printf("%.2f\n",-ret);
          return 0;
      }
      View Code

       

      posted on 2020-10-09 22:00  有毒的粽子  閱讀(173)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 无码一区二区三区中文字幕| 久久精品夜色国产亚洲av| 国产精品久久亚洲不卡| av小次郎网站| 亚洲va久久久噜噜噜久久狠狠| 日韩人妻无码一区二区三区 | 国产乱妇乱子视频在播放| 加勒比亚洲天堂午夜中文| 亚洲AV日韩AV高清在线观看| 国产普通话对白刺激| 粉嫩小泬无遮挡久久久久久| 奇米777四色成人影视| 波多野结衣网站| 国产精品无卡毛片视频| 久久午夜无码鲁丝片直播午夜精品 | 亚洲欧洲日韩国内高清| 国产免费视频一区二区| 18禁网站免费无遮挡无码中文 | 国产高清在线不卡一区| 久热这里只有精品视频3| 加勒比中文字幕无码一区| 昌图县| 国产AV影片麻豆精品传媒| 国产又黄又湿又刺激网站| 奈曼旗| 亚洲精品美女一区二区| 亚洲免费的福利片| 福利一区二区在线播放 | 波多野结衣无内裤护士| 唐人社导航福利精品| 亚洲激情av一区二区三区| 精品国产一区二区三区av性色| 性色av无码久久一区二区三区 | 国产国语毛片在线看国产| 国内精品无码一区二区三区| 成人午夜大片免费看爽爽爽| 国内熟妇人妻色在线三级| 女人下边被添全过视频的网址| 亚洲色大成网站WWW久久| 亚洲gv天堂无码男同在线观看 | 久久88香港三级台湾三级播放|