码迷,mamicode.com
首页 >  
搜索关键字:最优解    ( 1254个结果
hdu 1561 树形dp
思路:树形结构 加一个点(0点)构成森林 然后树形dp。。。 状态转移方程: dp[x][j] = max(dp[x][j], dp[cnt][j-i] + dp[x][i]); 表示第x个的子节点中取j个 为最优解 cnt为x的某个子节点 代码: #include #include #include #include #include #include #inc...
分类:其他好文   时间:2015-07-21 10:42:16    阅读次数:85
动态规划求解编辑距离
一、动态规划算法       动态规划算法通常基于一个递推公式及一个或多个初始状态。当前问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式复杂度,因此它比 回溯法、暴力法要快。首先,我们要找到某个状态的最优解,然后在它的帮助下,找到下一个状态的最优解。要做的是抽象出动态规划的状态和状态转移方程(递推公式)。 二、编辑距离 1、问题描述 设A和B是2个字符串。要用最少的字符操...
分类:其他好文   时间:2015-07-21 01:36:40    阅读次数:226
算法之贪心思想
这个贪心的行为在算法中也成为了一种指导思想,也就是说贪心算法所作出的选择在当时的环境下是最好的,说深一点就是它只是某种 意义上的局部最优解,但不一定是全局最优解,此时往往接近于最优解。   一: 优点      前面也说了,贪心只是求的当前环境下的最优解,而不是追究整体的最优解,所以贪心就避免了为求的整体最优解而枚举各种方案所 耗费的时间。   二: 问题...
分类:编程语言   时间:2015-07-20 23:39:52    阅读次数:267
poj 3280 区间dp
题意:给你m个字符,其中有n种字符,每种字符都有两个值,分别是增加一个这样的字符的代价,删除一个这样的字符的代价,让你求将原先给出的那串字符变成回文串的最小代价。 思路:区间dp 设dp[i][j]表示从i到j区间满足条件的最优解 状态方程: if(str[i]==str[j])dp[i][j]=dp[i+1][j-1]; else dp[i][j]=min(dp[i+1][j]+val...
分类:其他好文   时间:2015-07-20 16:25:30    阅读次数:74
poj 3342 树形dp
还是简单的树形dp,不过要判断最优解是否有多种。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int N = 201; 8 int head[N]; 9 int ...
分类:其他好文   时间:2015-07-20 12:20:03    阅读次数:100
10723 - Cyborg Genes(LCS)
该题实际上就是LCS的变形,所要求的最短合成串长度其实就是两串相加再减去LCS的长度 。  很好理解,因为合成串中一定要包含LCS中的元素,然后非LCS的元素都要加进去,这样两串相加就多了一个LCS 。 所以答案就是len1 + len2 - len_LCS  然而该题的难点是求最优解的个数 。  显然,由于合成串中一定要有LCS,因此,解的个数的求解和刚才完成的dp有着千丝万缕的联系 。...
分类:其他好文   时间:2015-07-18 21:19:55    阅读次数:152
算法导论 第十六章:贪心算法之单任务调度问题
贪心算法是使所做的选择看起来都是当前最优的,通过所做的局部最优选择来产生一个全局最优解。 其具有的性质如下: 1)贪心选择性质:一个全局最优解可以通过局部最优(贪心)选择来达到。即,在考虑如何做选择时,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。           这一点是贪心算法不同于动态规划之处:在动态规划中,每一步都要做出选择,但是这些选择依赖于子问题的解。因此,解动态规划问...
分类:编程语言   时间:2015-07-18 12:45:42    阅读次数:2177
动态规划-矩阵连乘
动态规划四个步骤:1)描述最优解的结构2)递归定义最优解的值3)按自底向上的方式计算最优解的值4)由计算出的结果构造一个最优解定义:pi-1表示第i个矩阵的行数,pi表示第i个矩阵的列数 Ai..j表示对乘积AiAi+1...Aj求值的结果 i<j,i<=k<j m[i,j]:表示矩...
分类:其他好文   时间:2015-07-18 10:49:33    阅读次数:347
UVA12904 Load Balancing中途相遇法
虽然这题可以用暴力n^3过,但是还有有种n^2的方法的,枚举b,对于b,分别枚举a和c,得到对于这个b的最优解,然后从所以b中选一个最优的。要保证字典序最小,只要从小往大枚举就好了还有一种dp的做法,我没看懂。。。感谢moonflyer,酱神给我的这个思路#include#include#inclu...
分类:其他好文   时间:2015-07-18 00:27:55    阅读次数:208
3、动态规划问题中的最优路径保存与输出
在动态规划问题中,我们经常会遇到以下问题,最优解倒是求出来了,但是最优解的路径呢?如何输出?这确实是一个问题,而且往往比较难哟。。我这里说的路径是指,像在钢条切割问题中,从哪些地方切可以达到最优化,在矩阵链乘问题中,从哪些地方进行组合可以使效率最高?在钢条切割问题中:for(j=1;jprice){...
分类:其他好文   时间:2015-07-17 20:40:31    阅读次数:185
1254条   上一页 1 ... 90 91 92 93 94 ... 126 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!