GESP C++ 真题 · 逐题精解
首页C++七级真题 › 2023年12月 › 第3题

GESP 2023年12月 C++七级 单选题 第3题

C++七级单选题2023年12月第3题

所属知识点:动态规划(背包·LCS·LIS) 难度要求:— 考频:—

下面代码求最长上升子序列(LIS)长度。输入为 5 1 7 3 5 9(首数 5 为元素个数 n,随后 5 个数为 1 7 3 5 9),输出是:
int n,i,j,ans=-1; cin>>n;
for(i=1;i<=n;i++){ cin>>a[i]; f[i]=1; }
for(i=1;i<=n;i++)
  for(j=1;j<i;j++)
    if(a[j]<a[i]) f[i]=max(f[i], f[j]+1);
for(i=1;i<=n;i++){ ans=max(ans,f[i]); cout<<f[i]<<" "; }
cout<<ans<<endl;

正确答案:B

题目解析

n=5,序列 [1,7,3,5,9]。f[i] 为以 i 结尾的 LIS 长………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习