时限:1000ms内存限制:200000K
总时限:3000ms描述一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=,则另一序列Z=是X的子序列是指存在一个严格递增的下标序列
,使得对于所有j=1,2,…,k有:Xij = Zj如果一个序列S即是A的子序列又是B的子...
分类:
其他好文 时间:
2014-05-23 05:07:19
阅读次数:
283
Description给一个1到N的排列{Ai},询问是否存在1y then exit(x);
24 exit(y); 25 end; 26 27 procedure add(x,now:longint); 28 var 29 mid:longint;
30 begin 31 ...
分类:
其他好文 时间:
2014-05-23 03:02:46
阅读次数:
1150
目录最大连续序列和不连续序列的最大和1.最大连续序列和是指所有连续子序列元素和最大的那个。#include#includeusing
namespace std;int main(){ freopen("in.txt","r",stdin); int n;
while(cin>>n) { int a...
分类:
其他好文 时间:
2014-05-22 11:49:54
阅读次数:
273
代码a
#include
#define maxn 1005
int
a[maxn];
int
dp[maxn];
int
max(int x,int
y)
{
return
x>y?x:y;
}
int
main()
{
int
t,n;
scanf("%d",&t);...
分类:
其他好文 时间:
2014-05-22 09:16:47
阅读次数:
192
一个序列有N个数:A[1],A[2],A[3]……A[N],求最长非降子序列的长度。最重要的是要找出所谓的“状态”,本题目中是d[i],初始化最长长度为自己本身即一个单位长度。看是否要加入第i个元素,如果第i个元素a[i]比当前序列的最后一个元素a[j]大的话,那么加入,同时d[i]=d[j]+1;...
分类:
其他好文 时间:
2014-05-22 05:54:06
阅读次数:
228
有关字符串相关比较问题,一般处理方法都选择动态规划处理方法。或者是单个循环,或者是多个循环;dp遇到这种两个串的问题,很容易想到DP。但是这道题的递推关系不明显。可以先尝试做一个二维的表int[][]
dp,用来记录匹配子序列的个数(以S="rabbbit",T="rabbit"为例): r a b...
分类:
其他好文 时间:
2014-05-21 23:01:16
阅读次数:
229
#include #define N 8using namespace std;int main(){
int a[N]={1,-1,2,-3,4,-5,6,-7}; int lis[N]; int result[N];//结果 for(int i=0;i
a[j] && lis[i] =0;t--...
分类:
其他好文 时间:
2014-05-21 19:51:31
阅读次数:
351
问题描述
最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
解决最长公共子序列,一种常用的办法,就是穷举法,组合出所有的情况,但是这样对于长序列的情况来说,是非常不实际。。
假设现在有...
分类:
其他好文 时间:
2014-05-21 13:55:35
阅读次数:
260
Description
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = another sequence Z = is a subsequence of X if there exists a ...
分类:
其他好文 时间:
2014-05-21 10:58:39
阅读次数:
237