
动态规划 - 子序列
flowser
you are what you want to be
展开
-
uva531- Compromise(lcs+打印路径)
题意: 给你两段文字,求最大相同单词数。 思路: lcs的代码,+打印 代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 105;int dp[N][N];char a[N][N], b[N][N];i原创 2016-03-18 23:29:34 · 354 阅读 · 0 评论 -
uva285 - Longest Run on a Snowboard(二维最长递增子序列)
题意: 给你一二维数组,求最长降序路径 思路: 直接4个方向分别找最长路径,dp[i][j]记录下map[i][j]这个点能找到的最长路径,最后再遍历,看哪个点为起点后能找到最长的路径。再备忘即可。 代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespac原创 2016-03-18 23:45:06 · 849 阅读 · 0 评论 -
uva111 - History Grading(最长公共子序列LCS)
题意: 此题 思路: dp , 然后有坑!题目给的是该序列在正确序列的第几位,还要转换一下。 然后还有一点,下述代码AC,但其实有误,有误部分在代码部分会提及。 错误理由见uva10405 代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace s原创 2016-03-10 16:59:29 · 423 阅读 · 0 评论 -
uva10405 - Longest Common Subsequence(LCS)
题意: 字符版的最长公共子序列 样例如下: Sample Input bcacbcabbaccbab bccabccbbabacbc a1b2c3d4e zz1yy2xx3ww4vv abcdgh aedfhr abcdefghijklmnopqrstuvwxyz a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0 abc原创 2016-03-10 17:11:15 · 333 阅读 · 0 评论 -
uva10635 - Prince and Princess
题意: 给你两个序列,求最长公共子序列。思路: 直接LCS会超时,所以将其转为LIS,即将其中一个序列转为单调递增的序列,再遍历,不断更新直至最长。 代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;con原创 2016-02-13 11:21:43 · 325 阅读 · 0 评论 -
uva10066 - The Twin Towers(LCS)
题意: 题目意思其实就是给你两串数字,求最长公共子序列 思路: 只是题意变了,其它都没变,跟前面几题最长公共子序列做法完全相同。 代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 105;int a[N],原创 2016-03-10 22:03:35 · 388 阅读 · 0 评论 -
最长递增子序列问题
最长递增子序列问题的求解 转自http://www.cnblogs.com/lonelycatcher/archive/2011/07/28/2119123.html最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算法素养才能得出良好的算法。由于这个问题能运用学过的基本的算法分析和设计的方法与思想,能够锻炼设计较复杂算法的思维,我对转载 2016-03-13 23:01:21 · 390 阅读 · 0 评论 -
uva10131 - Is Bigger Smarter?
题意: 给你若干个人的体重(w), IQ(s),让你找出最长的:w越大,s就越小的序列,并打印输出。 思路: 仿照的是最长递增子序列的代码, 可见http://blog.youkuaiyun.com/conatic/article/details/50881119代码如下:#include <iostream>#include <cstdio>#include <cstring>#include <a原创 2016-03-13 23:10:59 · 376 阅读 · 0 评论 -
UVA 10192 - Vacation(最长公共子序列)
题意: 和之前的uva10405一模一样 代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 105;int dp[N][N];char A[N], B[N];int main() { int cas =原创 2016-03-13 23:18:32 · 428 阅读 · 0 评论