题目大意:
有一个公主一生气就喜欢摔东西。现在有很多个柜子,每个柜子里面装着很多物品,公主每次摔东西只能随机的选择一个柜子,拿出最左边或者最右边的一个物品摔碎,给出公主最多生气的次数,求生完气之后,公主摔掉物品的价值的最大总和。
做法:
对于每个柜子来说,从左边拿和从右边拿是不一样的,假设最佳方案中,在第i个柜子中需要拿Ki个物品,那么拿着Ki个物品的最大价值我们是可以确定的。一:全...
分类:
其他好文 时间:
2014-08-28 19:50:55
阅读次数:
244
思想: 动态规划,分析:
12121212: 前面为1 或者 (前面是2 且 当前值 1。
分类:
其他好文 时间:
2014-08-27 21:51:28
阅读次数:
205
思想: 动态规划。
DP[i][j] = (DP[i-1][j] && s1[i-1] == s3[i+j-1]) || (DP[i][j-1] && s2[j-1] == s3[i+j-1]); 其中,i, j 分别为字符串 s1, s2 的当前长度。
方法二: 进一步优化,空间复杂度, ...
分类:
其他好文 时间:
2014-08-27 20:26:28
阅读次数:
224
Unique Paths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
The robot can only move either down or right at any point in time. The r...
分类:
其他好文 时间:
2014-08-27 16:34:58
阅读次数:
242
解决最长公共子序列问题:求解的方法如图所示:例如,设所给的两个序列为X=和Y=。由算法LCS_LENGTH和LCS计算出的结果如下图所示:其模板可以写成void lcss(){ int i,j; int sizex=str1.length(); int sizey=str2.len...
分类:
其他好文 时间:
2014-08-27 16:21:27
阅读次数:
206
思想:动态规划。 D[i][j] = D[i][j-1] + (T[i-1] == S[j-1] ? D[i-1][j-1] : 0);
改进后:空间复杂度 O(T.size()).
分类:
其他好文 时间:
2014-08-27 16:13:07
阅读次数:
175
注意: 限制条件: 先买后卖(不同天)。
思想: 买了后,1. 若以后价格不变,不买不卖。 1. 更价格低,重新买。2. 价格升高,假定抛售,更新一下利润值。
思想:求出所有非递减序列两端绝对值之和。我贴在 leedcode 的代码和证明:
思想:动态规划。 记录下从各位置(含)开始之前...
分类:
其他好文 时间:
2014-08-27 16:00:18
阅读次数:
213
题目大概都是这样的:
设有N堆沙子排成一排,其编号为1,2,3,…,N(N
dp的方程很显然:
区间DP dp[i][j]=min(dp[i][k]+dp[k+1][j]+cost[i][j]) i
复杂度 N^3
这同时也是一个四边形优化DP的标准形式,对于i到j段的最优值s[i][j]满足: s[i][j-1]
可以减小枚举范围,复杂度N^2...
分类:
其他好文 时间:
2014-08-27 13:04:07
阅读次数:
272
在hihocoder上面两期的题目,一个01背包问题,一个完全背包问题。总结一下!...
分类:
其他好文 时间:
2014-08-27 10:58:17
阅读次数:
187