RQNOJ--2 开心的金明(01背包)
2024-09-03 20:01:32
题目:http://www.rqnoj.cn/problem/2
分析:这个题目每一种物品都是有"选"或"不选"两种情况。
属于01背包问题。物品的价格相当于背包问题的"花费",
限定的总钱数是"背包容量"。这里每种物品的效益就是 v[i]*p[i]。
#include<stdio.h>
#include<string.h>
int dp[30001],N;
void ZeroOnePack(int c,int w)
{
for(int i=N;i>=c;i--)
dp[i]=dp[i]>dp[i-c]+w?dp[i]:dp[i-c]+w;
}
int main()
{
int m,v[26],p[26];
while (scanf("%d%d",&N,&m)!=EOF)
{
//读取数据
for(int i=1;i<=m;i++)
scanf("%d%d",&v[i],&p[i]);
//数据初始化 不要求“装满”
memset(dp,0,sizeof(dp));
for(int i=1;i<=m;i++)
ZeroOnePack(v[i],v[i]*p[i]);
printf("%d\n",dp[N]);
}
return 0;
}
最新文章
- iOS 横竖屏切换(应对特殊需求)
- Office 365 - SharePoint 2013 Online 之母版页和页面布局
- sql导入默认用户解决杰奇cms无法登陆管理员账户问题
- DBNull.Value 字段的用法
- 配置android source 在ubuntu中编译环境
- bzoj1415
- android.os.NetworkOnMainThreadException异常处理办法
- 面向对象CSS (OOCSS)
- Windows 下安装 Oracle 12c 教程
- iOS开发系列-九宫格算法-xib
- VB.net结束进程
- C#取得站点跟目录
- Python之列表方法
- 08、共享变量(Broadcast Variable和Accumulator)
- NetBeans 代码折叠
- 清理本地Maven仓库
- 命令行能运行,但是在crontab不能正常运行的问题
- SublimeText3常用快捷键和优秀插件(亲测)
- 修改字段结构之ArcGIS Diagrammer
- 20155217 2016-2017-2 《Java程序设计》第3周学习总结