zoukankan      html  css  js  c++  java
  • 【luogu 1439 最长公共子序列】

    题目描述

    给出1-n的两个排列P1和P2,求它们的最长公共子序列。

    输入输出格式

    输入格式:

    第一行是一个数n,

    接下来两行,每行为n个数,为自然数1-n的一个排列。

    输出格式:

    一个数,即最长公共子序列的长度

    输入输出样例

    输入样例#1: 复制

    5 
    3 2 1 4 5
    1 2 3 4 5
    

    输出样例#1: 复制

    3

    说明

    【数据规模】

    对于50%的数据,n≤1000

    对于100%的数据,n≤100000

    【题解】

          ①LCS->LIS

          ②树状数组维护nlogn LIS

    #include<stdio.h>
    #define max(A,B) (A=((A)>(B))?(A):(B))
    #define go(i,a,b) for(int i=a;i<=b;i++)
    const int N=100010;
    int n,R,f[N],a[N],b[N],c[N],d[N],ans;
    void Add(int x,int _){while(x<=n)max(c[x],_),x+=x&-x;}
    int Max(int x){R=0;while(x)max(R,c[x]),x-=x&-x;return R;}
    int main()
    {	
        scanf("%d",&n);
    
        go(i,1,n)scanf("%d",b+i),d[b[i]]=i;
        go(i,1,n)scanf("%d",a+i),a[i]=d[a[i]];
        go(i,1,n)Add(a[i],max(ans,Max(a[i]-1)+1));
        
        printf("%d
    ",ans);return 0;
    }//Paul_Guderian

    .

  • 相关阅读:
    ASP.Net核心对象HttpRequest
    HTTP状态码和常用对照表
    Http协议之Get和Post的区别
    Http协议之Request和Response
    HTTP协议的几个概念
    表单内容提交到数据库案例
    关于表单提交的规则
    HttpHandler简介
    DHCP(五)
    DHCP(四)
  • 原文地址:https://www.cnblogs.com/Damitu/p/7807766.html
Copyright © 2011-2022 走看看