背包问题
来源:互联网 发布:mysql jdbc maven 编辑:程序博客网 时间:2024/05/16 19:23
Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N(1 ≤ N≤ 3,402) available charms. Each charm iin the supplied list has a weight Wi(1 ≤ Wi≤ 400), a 'desirability' factor Di(1 ≤ Di≤ 100), and can be used at most once. Bessie can only support a charm bracelet whose weight is no more than M(1 ≤ M≤ 12,880).
Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the maximum possible sum of ratings.
Lines 2..N+1: Line i+1 describes charm i with two space-separated integers: Wi and Di
4 61 42 63 122 7
23
典型的背包问题,第一次在主函数里数组开太大,改成全局数组
#include<iostream>#include<cstring>using namespace std;int D[3405],W[3405];int A[12885];int main(){ int N,M,j,i; cin >> N >> M; for(i = 1; i <= N; ++i) cin >> W[i] >> D[i]; memset(A,0,sizeof(A)); for(i = 1; i <= N; ++i) { for(j = M; j >= W[i]; --j) { if(A[j-W[i]] + D[i] > A[j]) A[j] = A[j-W[i]] + D[i]; else A[j] = A[j]; } } cout << A[M]; system("pause"); return 0;}
0 0
- 【无限背包】背包问题
- 背包问题---01背包
- 背包问题--部分背包
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 背包问题
- 两个正续排列的数组,组合成一个正续排列的数组
- 把十进制数(long型)分别为二进制和十六进制形式输出,不能使用printf
- Linux内核的Wiriteback写回机制
- Mysql,SqlServer,Oracle主键自动增长的设置
- ubuntu中http_proxy + Apache 2.x + Tomcat 7的集群配置
- 背包问题
- GSM通信系统的组成
- Sybase日期函数
- ARM-TQ2440启动
- Android-用户资源访问:字符串、颜色、尺寸、布局、数组、Drawable
- C函数返回局部变量
- enable usb debugging by code
- secureCRT The remote system refused the connection.
- XTU 1205 Range 2014湖南邀请赛C 单调栈