poj 2393 Yogurt factory(dp+贪心)

奶牛们建了一家酸奶厂,在N周内每周需要出货Y_i单位酸奶,第i周成本为C_i,储存费为每周S。求总体最低成本。

贪心策略是维持每周的最低单位成本,每周可能用上周剩下的,也可能生产新的。于是该周单位成本可能为上一周的单位成本加上储存费,也可能为该周的单位成本。

 1 #pragma comment(linker, "/STACK:1024000000,1024000000")
 2 #include<iostream>
 3 #include<cstdio>
 4 #include<cstring>
 5 #include<cmath>
 6 #include<math.h>
 7 #include<algorithm>
 8 #include<queue>
 9 #include<set>
10 #include<bitset>
11 #include<map>
12 #include<vector>
13 #include<stdlib.h>
14 #include <stack>
15 using namespace std;
16 #define PI acos(-1.0)
17 #define max(a,b) (a) > (b) ? (a) : (b)
18 #define min(a,b) (a) < (b) ? (a) : (b)
19 #define ll long long
20 #define eps 1e-10
21 #define MOD 1000000007
22 #define N 10006
23 #define inf 1e12
24 int n,s;
25 int c[N],y[N];
26 int main()
27 {
28    while(scanf("%d%d",&n,&s)==2){
29       for(int i=0;i<n;i++){
30          scanf("%d%d",&c[i],&y[i]);
31       }
32       ll ans=0;
33       for(int i=1;i<n;i++){
34          c[i]=min(c[i-1]+s,c[i]);
35       }
36       for(int i=0;i<n;i++){
37          ans+=c[i]*y[i];
38       }
39       printf("%I64d
",ans);
40    }
41     return 0;
42 }
View Code
原文地址:https://www.cnblogs.com/UniqueColor/p/4944942.html