捞帖
  • 板块灌水区
  • 楼主Hinazuki_Kayo
  • 当前回复18
  • 已保存回复18
  • 发布时间2020/8/10 13:51
  • 上次更新2023/11/6 20:45:38
查看原帖
捞帖
123321
Hinazuki_Kayo楼主2020/8/10 13:51

最长上升子序列

以下是修复后代码,求解释:

#include<stdio.h>
#include<ctype.h>
#include<algorithm>
int r(){
    char c=48;int X=0;
    while(X=(X<<3)+(X<<1)+(c^48),isdigit(c=getchar()));
    return X;
}
int d[100001],n=r();
int main(){
    while(d[(d[-1]=r())>d[d[0]]?++d[0]:std::lower_bound(d+1,d+d[0]+1,d[-1])-d]=d[-1],--n);
    printf("%d",d[0]);
}
2020/8/10 13:51
加载中...