1. HDU 2546 01背包 问题分析: a) 若饭卡钱数小于5则结果为:饭卡钱数。否则找出若干菜品的价格和(不包括最大价格菜品)最趋于饭卡价格-5,最大价格菜品留着最后减去(这样才能使得最终饭卡钱数最少)。 b) 饭卡钱数-5 为背包容量,找出最大价格菜品(这里用sort排序,最后一个为最大价 ...
分类:
其他好文 时间:
2017-04-12 11:28:50
阅读次数:
157
作者:Hawstein出处:http://hawstein.com/posts/dp-knapsack.html 一切都要从一则故事说起。 话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2, ...
分类:
其他好文 时间:
2017-04-09 20:22:47
阅读次数:
177
一个问题可以用动态规划法求解的先决条件: 1、最有子结构性质:当问题的最优解包含了其子问题的最优解时,成该问题具有最有子结构性质。 2、重叠子问题:每次产生的子问题并不总是新问题,有些子问题被反复计算多次。 满足了以上两个条件的问题可以考虑用动态规划法求解,他是一种自底向上的递归算法。 问题描述: ...
分类:
其他好文 时间:
2017-04-09 00:30:33
阅读次数:
295
【问题】 有一个贼在偷窃一家商店时发现有N件物品;第i件物品值pi元,重wi磅(1≤i≤N),且都是整数。 他希望带走的东西越值钱越好,但他的背包中最多能装下M磅的东西(整数)。 如果每件物品或被带走或被留下,小偷应该带走哪几样东西? 【算法解析】 令f(i,y) 表示容量为y,物品i,i+1,·· ...
分类:
其他好文 时间:
2017-04-07 23:34:18
阅读次数:
188
关于背包问题,百度文库上有崔添翼大神的《背包九讲》,不明的请移步查看。这里仅介绍最基本的01背包问题的实现。 THE END. ...
分类:
编程语言 时间:
2017-04-07 20:05:23
阅读次数:
224
本文转自:http://hawstein.com/posts/dp-knapsack.html 一切都要从一则故事说起。 话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个 ...
分类:
其他好文 时间:
2017-04-06 09:43:08
阅读次数:
266
问题描述: 给定N中物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得转入背包的物品的总价值为最大?? 在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包 ...
分类:
其他好文 时间:
2017-04-04 21:50:51
阅读次数:
150
【题目链接】 http://codeforces.com/problemset/problem/788/C 【题目大意】 给出一些浓度的饮料,要求调出n/1000浓度的饮料,问最少需要多少升饮料 【题解】 设浓度为a,现在要求出系数x1,x2,x3……,使得x1*a1+x2*a2+x3*a3+……= ...
分类:
其他好文 时间:
2017-04-04 00:02:52
阅读次数:
358
题目 有N件物品和一个容量为W的背包。第Ni件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[Ni][Wi]表示前Ni件物品恰放入一个容量为Wi的背包可以获得的最大价 ...
分类:
其他好文 时间:
2017-04-03 16:57:33
阅读次数:
163
https://vjudge.net/contest/68966#problem/F http://blog.csdn.net/libin56842/article/details/9048173 1 #include<iostream> 2 #include<cstdio> 3 #include< ...
分类:
编程语言 时间:
2017-04-03 12:04:22
阅读次数:
182