首页 > 其他 > 详细

hihoCoder#1043 完全背包

时间:2015-03-26 14:14:10      阅读:355      评论:0      收藏:0      [点我收藏+]

原题地址

 

基本动态规划题+状态压缩

看完提示反倒是不会做了。。

 

代码:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main() {
 6   int N, M;
 7   int best[500010] = {0};
 8   int value[512];
 9   int need[512];
10 
11   cin >> N >> M;
12   for (int i = 0; i < N; i++)
13     cin >> need[i] >> value[i];
14 
15   for (int i = N - 1; i >= 0; i--) {
16     for (int j = 1; j <= M; j++) {
17       if (j >= need[i])
18         best[j] = max(best[j], best[j - need[i]] + value[i]);
19     }
20   }
21 
22   cout << best[M] << endl;
23 
24   return 0;
25 }

 

hihoCoder#1043 完全背包

原文:http://www.cnblogs.com/boring09/p/4368285.html

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