刚学OI一天的萌新妹纸求助

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

muyang_233 @ 2019-09-09 22:36:29

RT,只AC了一个点,wtcl。
这么简单的二分LIS我怎么都能写错啊,wzbl。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int k;
int ans;
int a[100005];
int b[100005];
int dp[100005];
int last[100005];
int main(){
    memset(last,0x3f,sizeof(last));
    scanf("%d",&n);
    for (int i=1;i<=n;i++){
        int k;
        scanf("%d",&k);
        a[k]=i;
    }
    for (int i=1;i<=n;i++){
        int k;
        scanf("%d",&k);
        b[k]=a[k];
    }
    k=1;
    dp[1]=1;
    last[1]=b[1];
    for (int i=2;i<=n;i++){
        int x=lower_bound(last+1,last+k+1,b[i])-last-1;
        dp[i]=x+1;
        last[x+1]=min(last[x+1],b[i]);
        k=max(k,x+1);
    }
    for (int i=2;i<=n;i++){
        ans=max(ans,dp[i]);
    }
    printf("%d\n",ans);
    return 0;
}

by Plus_Ultra @ 2019-09-09 22:40:58

@muyang_233 为什么要强调是妹子


by Mcggvc @ 2019-09-09 22:42:34

@muyang_233 为什么要强调是妹子


by muyang_233 @ 2019-09-09 22:44:00

@Plus_Ultra 因为窝可怜


by Null_Cat @ 2019-09-09 22:51:08

@muyang_233 %%%


by lzxy @ 2019-09-15 14:52:50

学一天你切这题。。。。

窝学一天才会打码(逃


|