背包问题,递归解法
来源:互联网 发布:ziperello软件下载 编辑:程序博客网 时间:2024/06/10 04:26
#include<iostream.h>
#include<string.h>
int f[6][501][101];
int v[6] = ...{0,30,50,10,23,130};
int w[6] = ...{0,3,8,2,5,20};
int c[6] = ...{0,10,10,10,8,5};
int t[6] = ...{0,4,5,2,3,11};
const int maxv = 400;
const int maxw = 10;
const int maxn = 5;
int solve(int n , int x, int y)
...{
if(f[n][x][y] >=0)
return f[n][x][y];
if( n ==0 || x ==0 || y == 0)
f[n][x][y] = 0;
else
...{
int maxi = c[n];
if(x / v[n] < maxi)
maxi = x / v[n];
if(y / w[n] < maxi )
maxi = y / w[n];
for(int i =0 ; i <= maxi ; ++i)
...{
if ((solve(n-1,x- i * v[n],y - i * w[n]) + i * t[n] ) > f[n][x][y] )
f[n][x][y] = solve(n-1,x- i * v[n],y - i * w[n]) + i * t[n];
}
}
return f[n][x][y] ;
}
void main()
...{
memset(f,0xff,sizeof(f));
int ans = 0;
for(int x = 1 ; x <= maxv ; ++x)
for(int y = 1 ; y <= maxw ; ++y)
...{
if( solve(5,x,y) > ans )
ans = solve(5,x,y);
}
cout<<ans;
}
#include<string.h>
int f[6][501][101];
int v[6] = ...{0,30,50,10,23,130};
int w[6] = ...{0,3,8,2,5,20};
int c[6] = ...{0,10,10,10,8,5};
int t[6] = ...{0,4,5,2,3,11};
const int maxv = 400;
const int maxw = 10;
const int maxn = 5;
int solve(int n , int x, int y)
...{
if(f[n][x][y] >=0)
return f[n][x][y];
if( n ==0 || x ==0 || y == 0)
f[n][x][y] = 0;
else
...{
int maxi = c[n];
if(x / v[n] < maxi)
maxi = x / v[n];
if(y / w[n] < maxi )
maxi = y / w[n];
for(int i =0 ; i <= maxi ; ++i)
...{
if ((solve(n-1,x- i * v[n],y - i * w[n]) + i * t[n] ) > f[n][x][y] )
f[n][x][y] = solve(n-1,x- i * v[n],y - i * w[n]) + i * t[n];
}
}
return f[n][x][y] ;
}
void main()
...{
memset(f,0xff,sizeof(f));
int ans = 0;
for(int x = 1 ; x <= maxv ; ++x)
for(int y = 1 ; y <= maxw ; ++y)
...{
if( solve(5,x,y) > ans )
ans = solve(5,x,y);
}
cout<<ans;
}
- 背包问题,递归解法
- 背包问题的递归解法
- 背包问题的非递归解法
- 背包问题(非递归解法)
- p1054 简单背包问题的递归解法
- 关于背包问题的递归解法
- 背包问题的递归和非递归的解法
- 背包问题的递归和非递归的解法
- 背包非递归解法
- [算法]简单的背包问题递归解法,C语言实现
- [算法]数据结构算法背包问题解法之递归解法,C语言实现
- 分组背包问题解法
- 腾讯2008年笔试题-背包问题 递归和非递归解法
- 汉诺塔问题递归解法
- Josephus问题递归解法
- 汉诺斯塔问题递归解法
- 汉诺塔问题递归解法
- 背包问题-四种解法(穷举,递归,二维数组,一维数组)
- 为什么订不到会议室?
- 做最好的自己
- 以前Blog坏了
- 户口及北京的大雨
- 无题
- 背包问题,递归解法
- 禁用Windows XP的自动播放功能
- cs文件常用js代码
- Linux上安装GCC编译器过程
- 取数字问题(M*N)
- Delphi 7事件的多处理机制
- 多态初步
- extern const
- 三国人物顺口溜