开心的金明<0-1背包>
2024-09-27 13:05:52
题意:0-1背包经典题;
不多述,直接上代码:
1.二维数组表示法:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int dp[30][30005];
int main ()
{
int R,N;int v,m;
scanf("%d%d",&R,&N);
for(int i=1;i<=N;i++){
scanf("%d%d",&v,&m);
for(int j=1;j<=R;j++){
dp[i][j]=(i==1?0:dp[i-1][j]);
if(j>=v)
dp[i][j]=max(dp[i][j],dp[i-1][j-v]+v*m);
}
}
printf("%d\n",dp[N][R]); return 0;
}
2:一维数组表示法:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int dp[30005];
int main ()
{
int R,N;int v,m;
scanf("%d%d",&R,&N);
for(int i=1;i<=N;i++){
scanf("%d%d",&v,&m);
for(int j=R;j>=v;j--)
dp[j]=max(dp[j],dp[j-v]+v*m); }
printf("%d\n",dp[R]); return 0;
}
最新文章
- Content-disposition
- 创建DAO模式的步骤
- node代码片段
- [测]jieba分词
- redmine 安装
- encfs创建时fuse: failed to exec fusermount: Permission denied错误解决
- linux之开发板与宿主机-GDB远程调试
- 实例化新的一个(new)
- Java基础知识强化90:Date类之Data类中日期和毫秒相互转换
- 201521123028 《Java程序设计》第2周学习总结
- BZOJ:4869: [Shoi2017]相逢是问候
- scala-actor线程间通信
- 【五】jquery之事件(focus事件与blur事件)[提示语的出现及消失时机]
- IdentityServer4 中文文档 -9- (快速入门)使用客户端凭证保护API
- linux 环境下 firefox乱码问题解决
- for循环中的 break和continue的区别
- [uboot]uboot中run的一些command在源码位置
- Octave安装
- Immutable 常用API简介
- 尝试编辑java程序
热门文章
- mysql 中 SQL_CALC_FOUND_ROWS 功能
- Javascript:scrollWidth,clientWidth,offsetWidth的区别(转)
- VS中的快捷键快速格式化代码,使好看,整齐
- Entity Framework技巧系列之十三 - Tip 51 - 55
- HDU2206:IP的计算
- listview解决滑动条目的时候背景变为黑色的问题
- QML中的ExclusiveGroup
- IE下单选按钮隐藏后点击对应label无法选中的bug解决
- 1.2 sikuli API
- Android OpenGL ES(八)绘制点Point ..