社区讨论
100分(第一个点不过)求调
B3637最长上升子序列参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @m1ycrqli
- 此快照首次捕获于
- 2024/10/07 09:48 去年
- 此快照最后确认于
- 2025/11/04 17:45 4 个月前
CPP
#include <iostream>
using namespace std;
int main(){
int n,l,k;
int b[5001][11];
cin>>n;
for (int i=1;i<=n;i++){
cin>>b[i][1];
b[i][2]=1;
b[i][3]=0;
}
for (int i=n-1;i>0;i--){
l=k=0;
for (int j=i+1;j<=n;j++){
if (b[j][1]>=b[i][1]&&b[j][2]>l){
l=b[j][2];
k=j;
}
}
if (l>0){
b[i][2]=l+1;
b[i][3]=k;
}
}
k=1;
for (int j=1;j<=n;j++)
if (b[j][2]>b[k][2]) k=j;
cout<<b[k][2];
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...