LIS+LCS+LCIS
最长上升子序列 最长公共子序列 最长公共上升子序列
_7许
%
展开
-
最少拦截系统(上升子序列&&贪心)(HDU 1257)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 题意:导弹拦截系统的炮弹只能一次比一次低,敌方有不同高度的导弹发射过来,问我们至少要多少个导弹拦截系统。 题解:我们用dp[ i ]来表示第i个导弹拦截系统炮弹的最大可达高度。 我们先初始化dp[ 1 ]为a[ 1 ],接下来我们跑一个 i=2->n 的for循环,看最小的dp是不是能拦截...原创 2019-07-08 20:58:37 · 129 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping!(HDU 1087)(上升子序列dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <cmath> #include <cstring> ...原创 2019-07-08 19:41:09 · 114 阅读 · 0 评论 -
最长上升子序列模板(HDU 1950 Bridging signals)
我觉得这篇讲的很好:https://blog.csdn.net/lxt_Lucia/article/details/81206439 最长上升子序列 O(n^2)dp模板 const int maxN=4e4+5; const int maxC=1e6+5; int T,n,dp[maxN],a[maxN],ans; void init() { fill(dp,dp+n+1,1); ...原创 2019-07-08 19:32:59 · 227 阅读 · 0 评论 -
Common Subsequence(最长公共子序列)(HDU 1159)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 题意:两个字符串,求最长的公共子序列的长度。 题解: 开一个二位dp[i][j]:截至s1[i],s2[j]为止的最长公共子序列的长度。 我们跑两个for循环, 如果 s1[i]==s2[j] 我们就可以将这个字符放入公共子序列中,这时候 dp[i][j]=dp[i-1][j-1]; 如果 s1...原创 2019-07-08 10:47:50 · 157 阅读 · 0 评论