DP入门, 0-1背包问题(HDOJ 2602类似)
来源:互联网 发布:macbook强制卸载软件 编辑:程序博客网 时间:2024/06/05 08:39
HLOJ 1006 0-1背包问题
HDU 2602 Bone Collector 类似,但要注意输入顺序和问题规模,最重要的是重量为0的骨头居然也有价值的!
#include<iostream>using namespace std;const int N=401; //#define N 401 const int M=1501; //#define M 1501int f[N][M]; //下标从1开始用//n种物品,各种物品的容量、价值分别在w、v数组中;c为背包容量//状态:f[i][j],使用前i种物品构成背包容量为j时能获得的最大价值//转移方程:f[i][j]=max(f[i-1][j], f[i-1][j-w[i]]+v[i]),//转移方程中,前者表示不用第i种物品,后者表示用第i种物品//初值:0种物品时任何容量下能获得的最大价值都为0//结果:f[n][c]int max(int a, int b){if(a>b) return a;else return b;}int dpKnapSack(int n, int w[], int v[], int c) {int i,j;for (j=0; j<=c; j++) f[0][j]=0;for (i=1; i<=n; i++){//若有0容量但有价值的物品,则j从0开始,如 HDU 2602 Bone Collectorfor (j=1; j<=c; j++){if (j<w[i])//当前容量为j时,第i种物品放不下,肯定不用该物品f[i][j]=f[i-1][j];else //在用与不用第i种物品中取大者f[i][j]=max(f[i-1][j], f[i-1][j-w[i]] + v[i]); }}return f[n][c]; }int main(){#ifndef ONLINE_JUDGE //一般的OJ(acm.zjut.edu.cn例外)都定义了这个符号常量//"e:\\input.txt"指文件名,"r"指打开方式为读,stdin表示标准输入freopen("e:\\input.txt","r",stdin);//需要先在E盘建立input.txt文件并放入测试数据//freopen("e:\\output.txt","w",stdout);//写打开,自动生成ouput.txt,放输出结果#endifint w[N], v[N];int n, c, i;while(scanf("%d%d",&n, &c)!=EOF){for(i=1;i<=n;i++) scanf("%d", &w[i]);for(i=1;i<=n;i++) scanf("%d", &v[i]);printf("%d\n", dpKnapSack(n, w, v, c));}return 0;}
- DP入门, 0-1背包问题(HDOJ 2602类似)
- 入门经典 DP 0-1背包问题
- dp (0,1背包)Bone Collector HDOJ-2602 (基本01背包)
- hdoj 2602 Bone Collector【0-1背包】【dp思想】
- HDU/HDOJ 2546 饭卡(DP,0/1背包)
- HDU/HDOJ 2602 Bone Collector(DP,0/1背包,贪心,经典题目)
- 回溯法-求解装载问题(类似0-1背包)
- 0—1背包问题(dp)
- POJ 1745 Divisibility 类似0-1背包DP
- 0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276
- 0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276
- 0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276
- 0-1背包问题 | DP
- 0/1 背包 dp问题
- DP 0-1背包问题
- 0-1背包问题(DP)
- HDOJ-4276(树形DP+背包DP)
- HDOJ 2602 Bone Collector 0-1背包问题的最简形
- uploadbean+filemover解决上传文件获取表单中文乱码
- 第一篇喔
- 插件89:词根提示
- 世界上迄今最伟大的四位数学家
- PeopleSoft Functional Requirements Questionaire
- DP入门, 0-1背包问题(HDOJ 2602类似)
- xml
- SVG的字体操作
- Tuxedo and PeopleSoft review
- dtree.js文件的使用
- iOS4三种icon大小
- C#之Process
- 奇怪的const_cast
- 5.5例题--时区间时间的转换