动态规划
文章平均质量分 63
miao6664659
这个作者很懒,什么都没留下…
展开
-
0-1 背包问题 动态规划
http://blog.csdn.net/sunshinewave/article/details/8040421分析如下:题目有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个转载 2012-11-26 10:54:45 · 796 阅读 · 0 评论 -
背包问题九讲之二 完全背包问题
http://www.cnblogs.com/liangflying/archive/2012/10/25/2739208.htmlP02: 完全背包问题题目有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这个问题非常类似于01背包问题,所不同转载 2012-12-10 17:16:58 · 807 阅读 · 0 评论 -
背包问题--完全背包 详解以及实现
http://blog.csdn.net/wumuzi520/article/details/7014830#reply完全背包是在N种物品中选取若干件(同一种物品可多次选取)放在空间为V的背包里,每种物品的体积为C1,C2,…,Cn,与之相对应的价值为W1,W2,…,Wn.求解怎么装物品可使背包里物品总价值最大。动态规划(DP): 1) 子问题定义:F[i][j]表示前转载 2012-12-10 19:18:22 · 1441 阅读 · 0 评论 -
用01背包解决石子归并问题
http://blog.csdn.net/w397090770/article/details/8028945题目:有一堆石头质量分别为W1,W2,W3...WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。 这道题目可以用01背包问题来解决。即求出和最接近sum/2的一个子集令f(i, j)表示前i个元素中和最接近j的子集的和(有点绕),则有:转载 2012-12-10 21:19:13 · 645 阅读 · 0 评论 -
求两个串中第一个最长的子串 神州数码
以下内容转载自http://blog.csdn.net/hackbuteer1/article/details/6686931(题目)和July(解法)求两个串中的第一个最长子串(神州数码以前试题)。如"abractyeyt","dgdsaeactyey"的最大子串为"actyet"。 http://blog.csdn.net/miao6664659/article/details转载 2012-12-11 21:54:41 · 1056 阅读 · 0 评论 -
程序员面试100题之⑦ 最长公共子字符串
http://blog.csdn.net/hackbuteer1/article/details/6686931子字符串的定义和子串的定义类似,但要求是连续分布在其他字符串中。比如输入两个字符串BDCABA和ABCBDAB的最长公共字符串有BD和AB,它们的长度都是2。 最长公共子字符串共有两种解决方法,下面具体说说我的思路方法一: Longest Common转载 2012-11-21 09:36:43 · 925 阅读 · 0 评论 -
POJ 2479 Maximum sum 动态规划 解题报告
http://poj.org/problem?id=2479http://www.cnblogs.com/allensun/archive/2010/11/05/1870225.html方法1:两次dp+一次扫描,复杂度3*n 基于求最大连续子数组的线性dp算法 对数组从前往后各做一次O(n)的dp,求得maxsofar[0][0...n-1],再数组从后往前各做一次O转载 2012-12-26 19:08:55 · 672 阅读 · 0 评论 -
Poj 2593 动态规划 Max Squence
http://poj.org/problem?id=2593http://www.cnblogs.com/devil-91/archive/2012/08/06/2625765.html#include#include #includeusing namespace std;void run(){ int left[100005]; int right[100005]; i转载 2012-12-26 21:34:43 · 644 阅读 · 0 评论 -
动态规划经典五题
http://blog.csdn.net/nash_/article/details/8247015DP一年多没碰过了,今天突然想找找感觉,找了经典的几道DP复习着敲了敲。虽然最大子矩阵,滑雪,石子合并等问题也足够经典,我还是从中找了5道最经典的DP写了这篇博文,如果您是大一,大二想踏入程序竞赛的同学可以当习题做做,如果您像我一样不是ACMer,平时项目中也很少用DP,同样可以回顾一下DP的奥转载 2012-12-17 21:39:03 · 734 阅读 · 0 评论 -
背包问题 01背包详解及其实现 空间压缩技术 对应于背包九讲之一
http://blog.csdn.net/wumuzi520/article/details/701455901背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为C1,C2,…,Cn,与之相对应的价值为W1,W2,…,Wn.求解将那些物品装入背包可使总价值最大。 动态规划(DP): 1) 子问题定义:F[i][j]表示前i件物品中选取若干件物品转载 2012-12-06 15:59:12 · 2873 阅读 · 1 评论 -
背包问题九讲 之一
http://www.cnblogs.com/liangflying/archive/2012/10/25/2739205.html该文章可以配合http://blog.csdn.net/miao6664659/article/details/8265668一起看,http://blog.csdn.net/miao6664659/article/details/8265668中实现了这里面的伪转载 2012-12-06 10:50:21 · 578 阅读 · 0 评论 -
面试题 背包问题的具体应用 打印出对应的序号
这是我看到的一个公司的面试题目,出题目的公司不知道是哪一个了。特意转载他的题目 解法是我给的 可能不是最好的A公司供应各种档次的营养套餐,假设菜单上共有n项失误m1,m2,m3..mn,每种食物mi的营养价值为vi,价格为pi。套餐中每种失误之多出现一次,请完成以下两个小题:(1)请为顾客设计算法。求解总价格不超过M的营养价值最大的套餐。(2)具体列出来 食物编号 营养转载 2012-12-05 21:07:51 · 855 阅读 · 0 评论 -
背包问题扩展
http://blog.csdn.net/hackbuteer1/article/details/7357453http://acmpj.zstu.edu.cn/JudgeOnline/showproblem?problem_id=2574 砝码称重Description 设有1g 2g 3g 5g 10g 20g的砝码各若干枚(其总重Input 有多个测试数据 每个测试转载 2012-12-03 10:12:33 · 554 阅读 · 0 评论 -
最短路径 动态规划
http://blog.csdn.net/tiantangrenjian/article/details/6744484问题参考: http://iprai.hust.edu.cn/icl2002/algorithm/algorithm/technique/dynamic_programming/introduction.htm#example1 现有一张地图,转载 2012-12-04 11:20:02 · 1320 阅读 · 0 评论 -
求子数组的最大和
http://blog.csdn.net/v_JULY_v/article/details/6444021作者 :v_July_v 第一节、求子数组的最大和3.求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1转载 2012-12-03 17:06:25 · 754 阅读 · 0 评论 -
最长公共子串
http://zhedahht.blog.163.com/blog/static/254111742007376431815/题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长公共子串。例如:输入两个字符转载 2012-12-03 19:40:11 · 651 阅读 · 0 评论 -
程序员面试61 数对之差的最大值
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/题目:在数组中,数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11,是16减去5的结果。分析:看到这个题目,很多人的第一反应是找到这个数组的最大值和最小值,然后觉得转载 2012-12-05 10:30:03 · 557 阅读 · 0 评论 -
动态规划系列之一 引言 :由一个问题引出的算法
http://iprai.hust.edu.cn/icl2002/algorithm/algorithm/technique/dynamic_programming/introduction.htm引言——由一个问题引出的算法考虑以下问题[例1] 最短路径问题现有一张地图,各结点代表城市,两结点间连线代表道路,线上数字表示城市间的距离。如图1所示,试找出从结点A到结点E的最短距离。转载 2012-12-04 14:52:49 · 741 阅读 · 0 评论 -
子数组的最大值 微软面试之03
http://zhedahht.blog.163.com/blog/static/254111742007219147591/题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3,转载 2012-12-06 10:04:30 · 524 阅读 · 0 评论 -
动态规划 01背包问题
http://www.cnblogs.com/hustcat/archive/2010/05/21/1741228.html动态规划算法是一种经典的算法,它是如此美妙的算法,值得每一个程序员拥有。但是,直到晚上看《算法导论》,才发现自己现在才全面理解它,不禁狂汗。。。以经典的背包问题来展示动态规划算法 代码 Code highlighting produced by Ac转载 2012-11-26 15:50:19 · 2301 阅读 · 0 评论 -
菜鸟都能理解的01背包问题(空间如何优化)
http://www.2cto.com/kf/201301/184347.html如果你不知道什么叫做0-1背包问题,下面是0-1背包问题的简单描述假设有n件物品每件物品的体积为w1, w2……wn 相对应的价值为 v1, v2.……vn。01背包是在n件物品取出若干件放在空间为total_weight的背包里,使得背包的总体积最大关于0-1背包问题没有优化版本,请看这转载 2013-04-07 16:48:31 · 1262 阅读 · 0 评论