本题使用动态规划法, 或者记忆法,加上递归法。
不加上递归法,好像很麻烦,因为我们不知道其初始值,只知道其最终值,所以只能往下递推了,这样使用记忆法就比动态规划要方便了。
使用二维表设计其递归记忆表,防止重复计算。还是十分困难的,动态规划法有时候不一定比记忆法要好。
递归记忆法的学名: top-down with memoization; Introduction to Algorithm的Dynamic programming 这章有介绍...
分类:
其他好文 时间:
2014-06-02 23:04:24
阅读次数:
397
题意:中文题。不说了。注意一些地方,机器的执行过程是没有顺序的,而且每个机器可以用多次。第一次执行的机器不消耗转移时间K。用dp[i][j]表示第i个机器完成第j个步骤的最短时间,sum[j][i]表示第i个机器完成前j个步骤的时间。比较容易想到一个朴素的状态转移方程:dp[i][j]=min{dp...
分类:
其他好文 时间:
2014-06-02 19:48:58
阅读次数:
261
Max Sum Plus PlusTime Limit: 2000/1000 MS
(Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s):
15898Accepted Submission(s): 5171...
分类:
其他好文 时间:
2014-06-02 14:59:54
阅读次数:
247
六月到了。开始找工作的节奏,IT方面知识储备严重欠缺,定计划,更新博客,记录自己的准备历程。1、数据结构 15天2、常用算法(排序、动态规划、贪心等)
30天3、数据挖掘算法 15天4、移动端、web端开发入门 15天5、操作系统 10天共计85天,那时将近9月,还能赶上找工作的大潮。何...
分类:
其他好文 时间:
2014-06-02 11:46:07
阅读次数:
314
题意:在给定的数组里,寻找一个最长的序列,满足ai-2+ai-1=ai。并输出这个序列。很容易想到一个DP方程dp[i][j]=max(dp[k][i])+1.
(a[k]+a[i]==a[j],1=dp[1][5]。这样我们只需要在遍历数组的时候维护数组每个数的最大的下标即可。这里使用hash来做...
分类:
其他好文 时间:
2014-06-02 00:39:39
阅读次数:
379
最大m子段和问题 Max Sum Plus Plus —— 动态规划...
分类:
其他好文 时间:
2014-06-01 16:18:49
阅读次数:
259
5类算法小结:
递归与分治法, 动态规划, 贪心算法, 回溯法, 分支界限法...
分类:
其他好文 时间:
2014-06-01 13:59:44
阅读次数:
269
Chess
Problem Description
小度和小良最近又迷上了下棋。棋盘一共有N行M列,我们可以把左上角的格子定为(1,1),右下角的格子定为(N,M)。在他们的规则中,“王”在棋盘上的走法遵循十字路线。也就是说,如果“王”当前在(x,y)点,小度在下一步可以移动到(x+1, y), (x-1, y), (x, y+1), (x, y-1), (x+2, y), (x-2, y...
分类:
其他好文 时间:
2014-06-01 13:55:04
阅读次数:
421
Problem
Description度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有走过的格子,每一个格子中都有一些金币(或正或负,有可能遇到强盗拦路抢劫,度...
分类:
其他好文 时间:
2014-06-01 12:29:57
阅读次数:
246
本文主要讲解用动态规划解决矩阵链乘的问题,我也利用公式编辑器编辑出了状态转移方程,也给出了代码,大家可以参考。
分类:
编程语言 时间:
2014-06-01 11:26:16
阅读次数:
277