关于 LIS
  • 板块学术版
  • 楼主YuYuanPQ
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/10/23 20:34
  • 上次更新2024/10/23 21:37:52
查看原帖
关于 LIS
1029900
YuYuanPQ楼主2024/10/23 20:34

1:

int query2(int x,int y){
    len=0;
    s[++len]=a[x];
    for(int i=x+1;i<=y;i++){
        if(a[i]>s[len]) s[++len]=a[i];
        else{
            int l=1,r=len;
            int res=0;
            while(l<=r){
                int mid=(l+r)>>1;
                if(a[i]>s[mid]) l=mid+1,res=l;
                else r=mid-1;
            }
            // int res=lower_bound(s+1,s+1+len,a[i])-s;
            s[res]=a[i];
        }
    }
    return len;
}

2:

int query2(int x,int y){
    len=0;
    s[++len]=a[x];
    for(int i=x+1;i<=y;i++){
        if(a[i]>s[len]) s[++len]=a[i];
        else{
            int l=1,r=len;
            int res=0;
            while(l<=r){
                int mid=(l+r)>>1;
                if(a[i]>s[mid]) l=mid+1;
                else r=mid-1;
            }
            // int res=lower_bound(s+1,s+1+len,a[i])-s;
            s[l]=a[i];
        }
    }
    return len;
}

求 hack 代码 1,或者解释一下为什么代码 1 会 WA而代码 2 不会?

2024/10/23 20:34
加载中...