01背包 一维数组写的01背包
来源:互联网 发布:centos 个人 编辑:程序博客网 时间:2024/06/15 23:09
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,w[10],p[10],m,f[100];
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=1; i<=m; i++)
scanf("%d%d",&w[i],&p[i]);
memset(f,0,sizeof(f));
for(i=1; i<=m; i++)
for(j=10; j>=w[i]; j--)
if(f[j-w[i]]+p[i]>f[j])
f[j]=f[j-w[i]]+p[i];//不放和在j-w[i](因为要给其他的留有尽可能多的空间所以i物体
printf("%d\n",f[n]);//的空间为w[i],其他物体的空间为j-w[i],f[j-w[i]]存放的是在j-w[i]空间下的最大值)
}//空间下且i物体还没有放过进行比较
return 0;
}/*完全背包是在不放和在j-w[i]的空间下(已确定放或是不放i物体的情况下的最大值)
放i物体的价值进行的比较*/
//完全背包代码
for(i=1;i<=m;i++)
for(j=w[i];j<=m;j++)
if(f[j-w[i]]+p[i]>f[j])
f[j]=f[j-w[i]]+p[i];
/*最大的区别就在去01背包是在j-w[i]没有放过i物体的情况下比较放或者是不放
而完全背包就是在j-w[i]的空间下已确定i物体时放进去好还是不好*/
#include<string.h>
int main()
{
int n,i,j,w[10],p[10],m,f[100];
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=1; i<=m; i++)
scanf("%d%d",&w[i],&p[i]);
memset(f,0,sizeof(f));
for(i=1; i<=m; i++)
for(j=10; j>=w[i]; j--)
if(f[j-w[i]]+p[i]>f[j])
f[j]=f[j-w[i]]+p[i];//不放和在j-w[i](因为要给其他的留有尽可能多的空间所以i物体
printf("%d\n",f[n]);//的空间为w[i],其他物体的空间为j-w[i],f[j-w[i]]存放的是在j-w[i]空间下的最大值)
}//空间下且i物体还没有放过进行比较
return 0;
}/*完全背包是在不放和在j-w[i]的空间下(已确定放或是不放i物体的情况下的最大值)
放i物体的价值进行的比较*/
//完全背包代码
for(i=1;i<=m;i++)
for(j=w[i];j<=m;j++)
if(f[j-w[i]]+p[i]>f[j])
f[j]=f[j-w[i]]+p[i];
/*最大的区别就在去01背包是在j-w[i]没有放过i物体的情况下比较放或者是不放
而完全背包就是在j-w[i]的空间下已确定i物体时放进去好还是不好*/
0 0
- 01背包 一维数组写的01背包
- HDU 2602 Bone Collector(01二维背包&一维背包&滚动数组优化二维背包的原理 )
- 01背包(一维数组)
- 一维数组实现01背包
- 一维数组解决01背包问题
- 背包问题(01背包和完全背包)一维数组实现
- 01背包问题的一维数组解法
- 01背包一维dp数组的实现
- 01,完全 背包问题的一维数组
- 背包 一维数组
- 01背包一维
- 01背包和完全背包 的完整讲解版 包含 一维数组实现 和二维数组实现题目
- 如何用一维数组来解决01背包和完全背包问题?
- 一维的01背包问题
- hdu 2602 * 01背包 一维数组 不限装满
- POJ3624 Charm Bracelet 01背包 一维数组表示
- Poj 3624 Charm Bracelet(01背包+一维数组)
- hihocoder #1038 01背包 一维数组实现
- 第十四天 乐在其中-Android与远端之GET方式
- vc 程序单例
- 个人电脑做网站服务器
- 获取SqlServer数据库数据,转成JSON对象
- extjs的常用组件语法
- 01背包 一维数组写的01背包
- Android数据存储--Internal Storage(内部存储)及权限
- Hibernate继承映射
- windows下信号机制的学习
- Win7下开发的程序总报KERNELBASE.dll错误
- MySQL添加字段和删除字段
- 封装, get() set() 的本质目的。
- 内存管理
- SQLite3基本使用从shell到python