Java教程

P1439 【模板】最长公共子序列

本文主要是介绍P1439 【模板】最长公共子序列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

虽然这是我第一次写博客,但是我会做到最好的。

好的废话不多说,下面就是答案   (仅供参考)

#include<cstdio> 

#include<algorithm>

#include<cstring>

using namespace std;

const int N=101000;

int b[N],idx[N],n;

int read(){

int x=0,f=1;char ch=getchar();

while (ch<'0' || ch>'9'){if (ch=='-')f=-1;ch=getchar();}

while ('0'<=ch && ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}

return x*f;

}

int main(){

n=read();

memset(b,0x3f,sizeof(b));

for (int i=1;i<=n;i++)

idx[read()]=i;

for (int i=1;i<=n;i++)

{

int x=idx[read()];

*lower_bound(b+1,b+n+1,x)=x;

}

printf("%d",lower_bound(b+1,b+n+1,b[0])-b-1);

return 0;//完美结束

}

求求帮忙点个赞呗Q  Q

这篇关于P1439 【模板】最长公共子序列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!