码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
01背包问题
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:其他好文   时间:2014-09-04 14:33:19    阅读次数:91
poj 1163 The Triangle (动态规划)
The Triangle Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37778   Accepted: 22685 Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure...
分类:其他好文   时间:2014-09-03 21:19:27    阅读次数:210
【UVA】10404-Bachet's Game(动态规划)
如果d[i]是必胜态,那么d[i + V[j]]一定是必败态,反之亦然。 用d[i]代表棋子为i个是否为必胜态。 边界条件是d[i] = 1; 14139291 10404 Bachet's Game Accepted C++ 0.662 2014-09-03 09:44:48 #include #include ...
分类:其他好文   时间:2014-09-03 18:10:17    阅读次数:207
利用后缀数组(suffix array)求最长公共子串(longest common substring)
本文讨论了最长公共子串的的相关算法的时间复杂度,然后在后缀数组的基础上提出了一个时间复杂度为o(n^2*logn),空间复杂度为o(n)的算法。该算法虽然不及动态规划和后缀树算法的复杂度低,但其重要的优势在于可以编码简单,代码易于理解,适合快速实现。
分类:其他好文   时间:2014-09-03 16:26:16    阅读次数:309
HDU 1160 FatMouse's Speed (最长上升子序列+记录路径)
题目链接:HDU 1160 FatMouse's Speed 题意:求体重越重,反而速度越慢的例子,并输出对应的编号。 对speed进行从大到小排序,再求weight的最长上升序列,并输出路径。 AC代码: #include #include #include using namespace std; struct Node { int weight; int spee...
分类:其他好文   时间:2014-09-03 15:00:16    阅读次数:214
[LeetCode]Interleaving String关于遍历和动态规划
晚上做了一下leetcode的Interleaving String,觉得特别适合比较树的遍历和动态规划的效率比较。题目如下:Givens1,s2,s3, find whethers3is formed by the interleaving ofs1ands2.For example,Given:...
分类:其他好文   时间:2014-09-03 01:27:45    阅读次数:316
求子数组之和的最大值——编程之美 2.14 扩展问题 正确实现
使用动态规划求最大子数字和:s[i]表示data[i~n-1]以元素i开始的最大子数组和,a[i]表示data[i~n-1]中的最大子数组和 ;s[i]=max(s[i+1]+data[i], data[i]);a[i]=max(a[i+1], s[i]); 由于数组s,a递推的时候,都只用到数组的...
分类:其他好文   时间:2014-09-03 00:05:55    阅读次数:261
【数据结构与算法】LCS(不连续)
这个问题很经典,典型的动态规划,动态规划就是填一个表,然后遍历一下就行了。 代码实现 /** * 源码名称:LCSequence.java * 日期:2014-09-02 * 程序功能:LCS(不连续) * 版权:CopyRight@A2BGeek * 作者:A2BGeek */ public class LCSequence { private String mOn...
分类:其他好文   时间:2014-09-02 17:48:55    阅读次数:191
dynamic programming 之Maximum Sub-Sequence Sum(最大子序列和问题)
问题描述: 给定一个整数序列, 序列中可能有负数。 目的是找出这个序列的连续子序列(即子序列的元素的选取是连续的从序列中选取的)。即通过确定i, j 的值,  使得的值达到最大。 我们定义, 当所有的元素为负数值的时候, 那么maximum subsequence sum 为0。 下面我们用动态规划的技术去求解。 为了找到最大连续子序列和,  不难看出, 在扩展我们的求和窗口...
分类:其他好文   时间:2014-09-02 16:00:14    阅读次数:187
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!