![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法-LIS与LCS
醉语梦
“These are the night that never die”
展开
-
洛谷 P1091 合唱队形
题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1…>TK(1你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入输出格式 输入格式: 输入文件chorus原创 2018-01-19 18:03:26 · 393 阅读 · 0 评论 -
洛谷 P1439 【模板】最长公共子序列
LIS LCS 映射题目描述给出1-n的两个排列P1和P2,求它们的最长公共子序列。输入输出格式输入格式: 第一行是一个数n,接下来两行,每行为n个数,为自然数1-n的一个排列。输出格式: 一个数,即最长公共子序列的长度输入输出样例输入样例#1: 5 3 2 1 4 5 1 2 3 4 5 输出样例#1: 3 说明【数据规模】对于50%原创 2018-01-19 23:19:09 · 675 阅读 · 0 评论 -
最长上升子序列(LIS)与最长公共子序列(LCS)
1.LIS :给定一个序列,求它的最长上升子序列(n第一种 O(n^2): dp[i] 为以i为开头的最长上升子序列长度 code1:#include#includeusing namespace std;int n,ans;int a[2005],dp[2005];int main(){ scanf("%d",&n); for(int i=1;i原创 2018-01-13 21:41:55 · 205 阅读 · 0 评论 -
LIS,LCS,LICS 学习笔记
1.最长上升子序列(LIS)子序列: 1.可以不连续 2.相对位置不变 dp[i][j] 表示前i位置,最大值为j的LIS长度 1. dp[i-1][j] 前i-1位置,最大值为j的LIS长度 (没有考虑a[i]) 2. dp[i][j]=dp[i-1][k]+1 (j==a[i] k < j) ans=max(dp[n][i]) DP复杂度:状态数量*单个状态转移复杂...原创 2018-02-21 18:27:19 · 265 阅读 · 0 评论 -
[tyvj 1071] LCIS
题目描述 熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了。 小沐沐说,对于两个串A,B,如果它们都包含一段位置不一定连续的数字,且数字是严格递增的,那么称这一段数字是两个串的公共上升子串,而所有的公共上升子串中最长的就是最长公共上升子串了。 奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共...原创 2018-03-10 10:43:52 · 475 阅读 · 0 评论