【BZOJ2423】[HAOI2010]最长公共子序列 Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,存在X的一 ...
分类:
其他好文 时间:
2017-10-29 12:45:56
阅读次数:
97
【BZOJ4275】[ONTAK2015]Badania naukowe Description 给定三个数字串A,B,C,请找到一个A,B的最长公共子序列,满足C是该子序列的子串。 给定三个数字串A,B,C,请找到一个A,B的最长公共子序列,满足C是该子序列的子串。 Input 第一行包含一个正整 ...
分类:
其他好文 时间:
2017-10-29 11:20:13
阅读次数:
173
题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列。 输入 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列。 输出 一个数,即最长公共子序列的长度 输入样例 5 3 2 1 4 5 1 2 3 4 5 输出样例 3 说明 对于50%的数据,n≤1000 对于10 ...
分类:
其他好文 时间:
2017-10-26 16:54:11
阅读次数:
213
Description 对于一个序列𝑎[1], 𝑎[2], … , 𝑎[𝑛],其子序列为一序列𝑝[1], 𝑝[2], … , 𝑝[𝑚],满 足1 ≤ 𝑝[1] < 𝑝[2] < ? < 𝑝[𝑚] ≤ 𝑛, 1 ≤ 𝑚 ≤ 𝑛。𝑎的两个子序列𝑥, 𝑦是不同的,当 且 ...
分类:
其他好文 时间:
2017-10-22 01:39:52
阅读次数:
230
何为子序列? 子序列是 从原序列取任意多项 不改变它们的顺序 得到序列 最长上升子序列是: 取出的子序列元素大小从小到大 一个O(N^2)的算法 状态 d[ i ] 表示 以第i个元素为结尾 得到的上升子序列的最大长度 状态转移方程: d[ i ] = d[ j ] +1 (a [ j ] < a[ ...
分类:
其他好文 时间:
2017-10-17 21:53:19
阅读次数:
188
http://acm.split.hdu.edu.cn/showproblem.php?pid=5791 题意: 给出两个序列,求这两个序列的公共子序列的总个数。 思路: 和LCS差不多,dp[i][j]表示第一个的前i个和第二个的前j个所包含的公共子序列的个数。 首先考虑a[i]≠b[j]的情况, ...
分类:
其他好文 时间:
2017-10-14 12:16:32
阅读次数:
194
题目描述? 给出两个仅有小写字母组成的字符串str1 和str2,试求出两个串的最长公共子序列。? 数据范围 |str1| ? 1000; |str2| ? 10^6 题解: ①直接进行LCS(或者nlogn优化)爆炸了、 ②尝试利用本体特点:|str1|很小。 ③相当于答案不超过1000,那么就将 ...
分类:
其他好文 时间:
2017-10-12 10:25:49
阅读次数:
148
题解: 这个题目还是比较难想的,首先我们要注意到题目一个比较明显的性质,即没有重复的元素。 那么我们就可以对于每个元素按照升序编号,然后根据每个元素的编号,把第二个串的元素对应上去,(注意:如果两个串所不共有的元素可以直接删除,因为一定不在答案里)那么两个串的最长公共子序列就是第二个串的最长上升子序 ...
分类:
其他好文 时间:
2017-10-11 20:37:38
阅读次数:
109
exLCS 时间限制:1s 空间限制:512MB 题目描述: 给出两个仅有小写字母组成的字符串str1 和str2,试求出两个串的最长公共子序列。 公共子序列定义如下: 若有a1 < a2 < … < ak 和b1 < b2 < … < bk,满足 str1[ai] = str2[bi]; 则称找到 ...
分类:
其他好文 时间:
2017-10-11 11:01:22
阅读次数:
117
唉我还是太弱了,还在想什么KMP和SA,其实这个就是DP而已。。。 嗯套用网上大佬的说法,第一问DP简单想。。那第二问维护一个G数组表示方案数,注意去重和滚动就行。 ...
分类:
其他好文 时间:
2017-10-09 21:00:53
阅读次数:
128