首页 > 其他 > 详细

【DP复习】01背包 ovo

时间:2018-10-29 21:17:32      阅读:153      评论:0      收藏:0      [点我收藏+]

水题10s切得pj-的那种QAQ

 P1048 采药

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 const int sz = 1010;
 5 int dp[sz], val[sz], tim[sz];
 6 int t, m;
 7 int main() {
 8     scanf("%d%d", &t, &m);
 9     for(int i = 1; i <= m; i++) 
10         scanf("%d%d", &tim[i], &val[i]);
11     for(int i = 1; i <= m; i++) {
12         for(int j = t; j >= 0; j--) {
13             if(j >= tim[i])
14                 dp[j] = max(dp[j - tim[i]] + val[i], dp[j]);
15         }
16     }
17     printf("%d", dp[t]);
18     return 0;
19 }

 P1049 装箱问题

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 const int sz = 20020;
 5 int n, m, use[sz], dp[sz];
 6 int main() {
 7     scanf("%d%d", &m, &n);
 8     for(int i = 1; i <= n; i++) 
 9         scanf("%d", &use[i]);
10     for(int i = 1; i <= n; i++) {
11         for(int j = m; j >= 0; j--) {
12             if(j >= use[i])
13                 dp[j] = max(dp[j - use[i]] + use[i], dp[j]);
14         }
15     }
16     printf("%d",m - dp[m]);
17     return 0;
18 }

 

【DP复习】01背包 ovo

原文:https://www.cnblogs.com/Hwjia/p/9873094.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!