2013年8月6日

背包问题九讲:

摘要: 一些基本的性质与公式:P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i件物品放入容量为v的 阅读全文
posted @ 2013-08-06 15:04 ~~碾压机 阅读(186) 评论(0) 推荐(0) 编辑

一个人的旅行 HDU 2066 &&HDU Today HDU 2112

摘要: 一个人的旅行 HDU 2066迪杰斯特拉:Dijkstra: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int inf=1000000;//以后如果结果输出的是(负数或很大的整数),可能是(这个开大了或开小了) 7 int a[1005][1005],w[1005]; 8 int main() 9 {10 int t,s,d,n,i,j,p,min1,a1,a2,a3;11 while(scanf("%d%d%d",&t,&s,&d)!=EOF)12 {1 阅读全文
posted @ 2013-08-06 14:22 ~~碾压机 阅读(253) 评论(0) 推荐(0) 编辑