动态规划的背包问题
古河渚Nagisa
雪中智代雨中杏,樱下古河花田汐。
香醇宫泽黑琴美,天际芽衣黄昏琼
展开
-
P1616 疯狂的采药,完全背包问题
/* 题型:完全背包 注意:j与0,1背包反过来即可 */ #include using namespace std; struct yao{ int value;int heavy; }a[1000001]; int f[1000001]; int main(){ int t,n; cin>>t>>n; for(int i=1;i<=n;i++) cin>>a[i].heavy>原创 2017-08-29 16:56:56 · 268 阅读 · 0 评论 -
P1060 开心的金明
/* 题型:0,1背包 注意:动态转移方程的写法 for(int i=1;i<=n;i++) for(int j=high;j>=a[i].price;j--) f[j]=max(f[j],f[j-a[i].price]+a[i].value) */ #include //万能头文件 using namespace std;//std工具箱 struct shopping {/转载 2017-08-29 16:39:34 · 170 阅读 · 0 评论 -
背包问题总结
一.01背包问题 【问题描述】有n件物品和一个容量为C的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使价值总和最大。 (1) 二维数组表示 1. 定义状态:f[i][c]表示前i件物品恰放入一个容量为c的背包可以获得的最大价值。 2. 状态转移方程:f[i][c]=maxf[i-1][c]f[i-1][c-w[i]]+v[i] (不选这件物品)(选择这件原创 2017-08-30 16:07:41 · 281 阅读 · 0 评论 -
传纸条
题目描述 传纸条 【分析】 设f[i][j][k][l]为从小渊传到小轩的纸条到达(i,j),从小轩传给小渊的纸条到达(k,l)的路径上取得的最大的好心程度和。完全可以换一个思路想,即求从给定的起点出发走到指定位置的两条最短严格不相交路线。那么特别显然,转移方程是 f[i][j][k][l]=max( f[i][j-1][k-1][l] , f[i-1][j][k][l-1] , f[i][j转载 2017-09-10 11:43:03 · 243 阅读 · 0 评论