zoukankan      html  css  js  c++  java
  • Codeforces 724 E. Goods transportation

    题目链接:http://codeforces.com/contest/724/problem/E


      考虑有非常显然的边数为${n^{2}}$的网络流做法,源点向每一个点$i$连流容量为${p_i}$的边,每一个点像汇点连容量为${s_i}$的边,每个点之间连容量为$c$的边,由于这张图比较的特殊,最大流等于最小割,所以可以考虑如何直接DP出这个最小割。

      

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<vector>
     5 #include<cstdlib>
     6 #include<cmath>
     7 #include<cstring>
     8 using namespace std;
     9 #define maxn 100100
    10 #define llg long long 
    11 #define inf (llg)1e16
    12 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
    13 llg n,ans,f[maxn],nf[maxn],s[maxn],p[maxn],c;
    14 
    15 inline int getint()
    16 {
    17        int w=0,q=0; char c=getchar();
    18        while((c<'0' || c>'9') && c!='-') c=getchar(); if(c=='-') q=1,c=getchar(); 
    19        while (c>='0' && c<='9') w=w*10+c-'0', c=getchar(); return q ? -w : w;
    20 }
    21 
    22 int main()
    23 {
    24     //yyj("Dp");
    25     cin>>n>>c;
    26     for (llg i=1;i<=n;i++) p[i]=getint();
    27     for (llg i=1;i<=n;i++) s[i]=getint();
    28     for (llg i=1;i<=n;i++)
    29     {
    30         for (llg j=0;j<=n;j++) nf[j]=inf;
    31         for (llg j=i-1;j>=0;j--)
    32         {
    33             nf[j+1]=min(nf[j+1],f[j]+s[i]);
    34             nf[j]=min(nf[j],f[j]+j*c+p[i]);
    35         }
    36         for (llg j=0;j<=n;j++) f[j]=nf[j];
    37     }
    38     llg ans=inf;
    39     for (llg i=0;i<=n;i++) ans=min(ans,f[i]);
    40     cout<<ans;
    41     return 0;
    42 }
    43 
    44 //我们先枚举位置,从城市1到城市n。
    45 //再枚举j,在当前位置之前有j条边连着起点且没有被割掉。
    46 //f[i][j+1]=min(f[i][j+1],f[i-1][j]+s[i])-----当前位置删掉连接终点的边
    47 //f[i][j]=min(f[i][j],f[i-1][j]+j*c+p[i]);------当前位置删掉连接起点的边
    48 //WA-75 :没有注意最后求ans的时候要考虑j=0的情况    for (llg i=0(1);i<=n;i++) ans=min(ans,f[i]);
  • 相关阅读:
    宁波工程学院2020新生校赛C
    宁波工程学院2020新生校赛B
    宁波工程学院2020新生校赛A -恭喜小梁成为了宝可梦训练家~(水题)
    POJ 1611
    牛客算法周周练11E
    牛客算法周周练11C
    牛客算法周周练11A
    CodeForces 1176C
    CodeForces 445B
    UVALive 3027
  • 原文地址:https://www.cnblogs.com/Dragon-Light/p/6676354.html
Copyright © 2011-2022 走看看