poj3624-Charm Bracelet(01背包模板题)
来源:互联网 发布:迅雷赚钱宝 网络硬盘 编辑:程序博客网 时间:2024/05/28 11:48
#include <iostream>#include <cstring>#include <algorithm>using namespace std;struct poj3624 {/* 【问题描述】:典型的01背包问题,* 给定n个物品,每个物品i有重量w[i]和价值d[i],背包容量为M,* 要求在不超过背包容量的前提下,使背包中物品的价值最大(每个物品只能出现一次)*//* 【解题思路】:f[n,v]表示只考虑前n个物品且恰好装满空间为v的背包所得到的最大价值,* 则f[n,v]=max{f[n-1,v],f[n-1][v-w[n]]+d[n]}* 边界条件:f[0,x]=0* 由于每次决策只跟“上一层”的相关,可以采用一维数组来保存“上一层”的决策*/int n, M;int w[3500], d[3500];int f[13000];void work() {while (cin >> n >> M) {for (int i = 1; i <= n; i++)cin >> w[i] >> d[i];memset(f, 0, sizeof(f));for (int i = 1; i <= n; i++) {for (int j = M; j >= w[i]; j--) {f[j] = max(f[j], f[j - w[i]] + d[i]);}}int ans = 0;for (int i = 0; i <= M; i++)ans = max(ans, f[i]);cout << ans << endl;}}};int main(){poj3624 solution;solution.work();return 0;}
0 0
- poj3624-Charm Bracelet(01背包模板题)
- 【01背包】HDU2602-Bone Collcetor & POJ3624-Charm Bracelet(模板)
- 【POJ3624】Charm Bracelet 01背包裸题
- POJ3624 Charm Bracelet 01背包裸题
- Charm Bracelet(poj3624)(01背包)
- (poj3624)Charm Bracelet(01背包)
- POJ3624 Charm Bracelet (01背包)
- POJ3624 Charm Bracelet(01背包)
- poj3624 Charm Bracelet(01背包)
- POJ3624 Charm Bracelet(01背包问题)
- POJ3624 Charm Bracelet(01背包问题)
- POJ3624:Charm Bracelet【01背包】
- POJ3624 Charm Bracelet 【01背包】
- 【POJ3624】Charm Bracelet(01背包)
- POJ3624 - Charm Bracelet(01背包)
- poj3624 Charm Bracelet 01背包
- POJ3624 Charm Bracelet(01背包~~简单DP~~)
- poj3624(Charm Bracelet + 赤裸01背包)
- python-recsys 2 Quickstart 2 快速开始
- POJ 1064 Cable master
- MFC 将接收的数据转换为float型输出
- 指针数组,数组指针
- Qt之安装MySQL驱动
- poj3624-Charm Bracelet(01背包模板题)
- 基础知识学习笔记(一)
- 顺序表应用1:多余元素删除之移位算法
- 补全等式
- 二叉索引树(树状数组)
- 笑话一条街 技术支持
- 在Eclipse上配置Opencv
- mt,sgd,gd含义
- C++利用反射和简单工厂模式实现业务模块解耦