码迷,mamicode.com
首页 >  
搜索关键字:动态规划法    ( 119个结果
HDU 1011 Starship Troopers 树DP
本题也是挺特别的题目,因为要递归到树的叶子节点然后初始化。 一开始看题也很困难,以为只是一条路径的最大获利计算,使用保存路径,然后DP,结果WA了。 原来本题是需要分路径探索的,就是说每一个分岔路都可以分兵探索下去,如果兵力不足就结束,看最大收益是多少。 题目并没有说的那么清楚,也许看题目也考人的IQ吧,要放聪明点。 本题是考人的递归能力,动态规划法能力,总结起来难度还是很高的。 ...
分类:其他好文   时间:2014-06-24 18:24:25    阅读次数:167
动态规划 — 计算二项式系数
如果问题是由交叠的子问题所构成的,那么我们就可以用动态规划技术来解决它。也就是说,一个问题的解可由它的规模更小的子问题的解递推得出。由于子问题的交叠性质,所以采用递归地方法一次又一次地求解子问题时,进行了很多重复的工作。所以动态规划法建议:把子问题的解存入某个表中,通过表一步步反解出原始问题。斐波那契数列就是一个很好的例子: F(n) = F(n-1) + F(n-2)     当n≥2 F(...
分类:其他好文   时间:2014-06-10 06:59:47    阅读次数:354
1393 - Highways 计数问题
本题是思想挺难的题目,抽象思维要求挺高的。 使用动态规划法,首先要弄明白如何记录数据,并且明白记录的数据代表什么意义,否则是理解不了的。 这里也只是给出自己的理解,也许别人不一定能理解我为什么这样理解的。不过给出图,详细说明一下,希望我可以说清楚。 这里需要使用双重动态规划法了,首先定义第一个表tbl 这个表的数值,例如tbl[i][j]代表,从第一个点[1][1]到[i][j]点组成的(i-1) * (j-1)个方格,从点[1][1]出发想象发出射线到边界上所有点的总数。 如下图是i = 2, j =...
分类:其他好文   时间:2014-06-08 02:55:24    阅读次数:560
codechef - Bytelandian gold coins 题解
本题使用动态规划法, 或者记忆法,加上递归法。 不加上递归法,好像很麻烦,因为我们不知道其初始值,只知道其最终值,所以只能往下递推了,这样使用记忆法就比动态规划要方便了。 使用二维表设计其递归记忆表,防止重复计算。还是十分困难的,动态规划法有时候不一定比记忆法要好。 递归记忆法的学名: top-down with memoization; Introduction to Algorithm的Dynamic programming 这章有介绍...
分类:其他好文   时间:2014-06-02 23:04:24    阅读次数:397
C++之易混淆知识点三
最近复习算法,感到有一丝丝忘记的困惑,赶紧记下来。。。一、分治法 分治法的思想就是“分而治之”,很明显就是将规模比较庞大、复杂的问题进行分治,然后得到多个小模块,最好这些小模块之间是独立的,如果这些小模块之间耦合性比较大的话,需要多次计算重复的问题,从而出现了冗余,这种情况下,可以利用动态规划法.....
分类:编程语言   时间:2014-05-25 14:08:40    阅读次数:400
动态规划解最长公共子序列问题(转)
动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。 【问题】 求两字符序列的最长公共字符子...
分类:其他好文   时间:2014-05-22 18:46:11    阅读次数:360
动态规划法-01背包问题
一 几个概念: 最优化问题:有n个输入,它的解由这n个输入的一个子集组成,这个子集必须满足某些事先给定的条件,这些条件称为约束条件,满足约束条件的解称为问题的可行解。满足约束条件的可行解可能不止一个,为了衡量这些可行解的优劣,事先给出一定的标准,这些标准通常以函数的形式给出,这些标准函数称为目标函数,使目标函数取得极值的可行解成为最优解,这类问题称为最优化问题。 二 最优性原理: 对...
分类:其他好文   时间:2014-05-15 12:17:50    阅读次数:397
POJ 2127 最长公共上升子序列
动态规划法: #include #include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-1.0) #define mem(a,b) memset(a,b,sizeof(a)) #...
分类:其他好文   时间:2014-05-06 19:49:33    阅读次数:388
Timus 1119. Metro 动态规划
很好的一道动态规划法题目。 注意: 1 行列别搞错了,要很细心一点一点对起来 2 要以边线思考,不要以方块来计算, N*M个方块就成了(N+1)*(M+1)条交叉线了,最下面和最左边的线就方便初始化了 3 注意C++的四舍五入的方法 动态规划的状态转移方程: if (A[y][x]) B[x] = t + 1.414213562; else B[x] = min(B[x-1], B[x]) + 1 ; A[y][x]表示是否有对角线,有对角线必定是走对角线的。...
分类:其他好文   时间:2014-04-30 22:21:38    阅读次数:369
119条   上一页 1 ... 10 11 12
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!