![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
序列型DP
文章平均质量分 78
zzuspy
本人初学者~~
展开
-
UVA - 103 - Stacking Boxes (动态规划)
UVA - 103 Stacking Boxes Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Background Some concepts in Mathe原创 2015-03-31 23:24:27 · 668 阅读 · 0 评论 -
UVA - 10405 - Longest Common Subsequence (DP - 最长公共子串)
UVA - 10405 Longest Common Subsequence Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Problem C: Longest Commo原创 2015-03-15 20:10:04 · 798 阅读 · 0 评论 -
UVA - 10192 - Vacation (LCS)
题目传送:UVA - 10192 思路:就是简单的最长公共子序列啦,不过输入居然还包含空格,然后很奇怪的TLE了,不是WA,心想n最大才100居然TLE,,好吧,可能有些数据特殊吧 AC代码: #include #include #include using namespace std; char s1[105], s2[105]; int dp[10原创 2015-04-20 23:41:04 · 700 阅读 · 0 评论 -
POJ - 2192 - Zipper (简单DP)
题目传送:Zipper 思路:设状态DP[i][j]为字符串A前i个字符和B前j个字符能否组成C的前i+j个字符,能则为true,否则false AC代码: #include #include #include #include #include #include #include #include #include #include #include原创 2015-05-04 00:07:37 · 681 阅读 · 0 评论 -
UVA - 10635 - Prince and Princess (LCS转化为LIS)
题目传送:UVA - 10635 思路:直接思路是两个串的LCS,不过这个题可以转化为LIS,因为说了序列中各个元素互不相同,所以可以来个映射算出第二个字符串中的字符对应第一个字符串中字符的位置(不存在即删去),然后算出这些位置的LIS即可 AC代码: #include #include #include #include #include #include #i原创 2015-05-04 14:36:06 · 716 阅读 · 0 评论 -
POJ - 1080 - Human Gene Functions (LCS的变形)
题目传送:Human Gene Functions 思路:LCS的变形,定义状态dp[ i ][ j ]为取字符串s前i个字符字符串t前j个字符所获得的最大值,则可以得到状态转移方程为: dp[ i ][ j ] = max(dp[ i ][ j - 1] + f[ ' - ' ][ t[ j ] ], dp[ i - 1 ][ j ] + f[ s [ i ] ][ ' - ' ],原创 2015-05-04 23:21:59 · 694 阅读 · 0 评论 -
POJ - 1458 - Common Subsequence (LCS)
题目传送:Common Subsequence 思路:LCS AC代码: #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long #define INF原创 2015-05-04 21:52:48 · 588 阅读 · 0 评论 -
POJ - 1159 - Palindrome (LCS + 优化)
题目传送:Palindrome 思路:一看题目思路很清晰,就是求出字符串s和倒转s后的字符串t的最长公共子序列,但是一看空间开销有点大,如果开int就会爆,5000*5000有100MB了,这里可以开short int,差不多正好可以过去,还有一种做法就是弄一个滚动数组,因为求LCS,根据状态转移方程可以知道,只需要前一行和当前行就行了,所以开个2*5005就OK了,具体看代码原创 2015-05-04 21:13:44 · 625 阅读 · 0 评论