1.题目描述:点击打开链接
2.解题思路:本题属于01背包型的dp问题。为了使得问题变得便与思考,我们可以顺序考虑每一个数字。事先用数组cnt统计输入的数字的个数。接下来,考虑数字i。如果选择删除它的话,由于是按顺序考虑的,因此所有的i-1都将被删去,那么分数为d[i]+i*cnt[i];如果不删除它,那么分数就是d[i-1]。只需要取较大者即可。
3.代码:
#define _CRT_SE...
分类:
其他好文 时间:
2015-05-14 08:46:24
阅读次数:
147
1 #include 2 #define M 10 3 int w[M]={1,3,5,7,9,11,13,15,17,19}; 4 int backpack(int n,int s) //n代表容量,s代表物品个数 5 { 6 if(n==0) return 1; //如果...
分类:
其他好文 时间:
2015-05-13 19:12:01
阅读次数:
108
有一个大小为m(整数)的背包,和n个体积为正整数的物品(大小分别为A[i])。将这个n个物品选一些装到背包中,请问最多能装满多少的体积?...
分类:
编程语言 时间:
2015-05-13 10:29:33
阅读次数:
411
有一个大小为m(整数)的背包,和n个体积(大小分别为A[i](整数))和价值(价格分别为B[i](整数))的物品。将这n个物品选一些装到背包中,请问能装价值最大为多少的物品?...
分类:
编程语言 时间:
2015-05-13 10:27:33
阅读次数:
249
看看动态规划的四个步骤:对于动态规划算法,我们必须明确两个基本要素,这两个要素对于在设计求解具体问题的算法时,是否选择动态规划算法具有指导意义:...
分类:
编程语言 时间:
2015-05-12 09:34:59
阅读次数:
171
问题: 这样的背包问题的物品间存在某种“依赖”的关系。也就是说,i依赖于j,表示若选物品i,则必须选物品j。为了简化起见,我们先设没有某个物品既依赖于别的物品,又被别的物品所依赖;另外,没有某件物品同一时候依赖多件物品。算法: 这个问题由NOIP2006金明的预算方案一题扩展而来。遵从该题...
分类:
其他好文 时间:
2015-05-10 14:06:48
阅读次数:
130
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:
其他好文 时间:
2015-05-10 09:42:31
阅读次数:
80
http://www.cnblogs.com/eternalwt/p/3314436.htmlhttp://www.cnblogs.com/qinyg/archive/2012/04/26/2471829.htmlhttp://www.cnblogs.com/jiangjun/archive/201...
分类:
其他好文 时间:
2015-05-09 18:47:35
阅读次数:
93
*贪心算法:装箱问题的思考
* @author Lip
*装箱问题可以是时间调问题的延伸,当一个箱子没有容积限制,那么就是时间调度问题
*在时间调度问题中:存在两个可以讨论的问题。1.平均最短时间 2.总的最短时间
*这两个问题都和装箱问题中问题如此类似。
*/
/*
* 上面是我理解的装箱问题,本来是想说背包问题的
* 背包问题的描述:有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。
* 求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大...
分类:
编程语言 时间:
2015-05-09 06:36:48
阅读次数:
132
背包九讲里面的多重背包问题。每一块积木有高度和数量,也有最大能到的高度位置限制。我们DP前首先要对高度限制进行排序,因为从直观角度说,我们也需要先处理较小的能到高度的积木,这样才能取到最大值。例如第一个高度是11,限制高度是100,第二个的限制高度是10,那如果直接处理,第二个不会被处理到。
#include
#include
#include
#define max(x,y)(x>y?x:y...
分类:
其他好文 时间:
2015-05-08 10:59:02
阅读次数:
211