jiangmuran @ 2023-08-07 13:18:02
RT,
#include <iostream>
using namespace std;
int main()
{
long long n;
cin >> n;
long long a[10005],f[10005]={};
for (int i=0;i < n ;i++)
{
cin >>a[i];;;;;;;;
f[i]=1;
}
f[n]=f[n+1]=1;
f[0]=1;
for (int i=0;i<=n ;i++)
{
for (int j=i-1;j>=0;j--)
{
//cout << i << ' ' << j << " " << f[i] <<endl;
f[i]=max(f[i],f[j]);
if (a[j]<=a[i])
{
f[i]=max(f[i],f[j]+1);
//cout << i << ' ' << f[j+1] << endl;
}
}
}
cout << f[n] << endl;
}
by liaoyichen @ 2023-08-07 13:25:50
@ben_ren_yi_tui_gu
<=
换成 <
by SakurajiamaMai @ 2023-08-07 13:35:46
=不算上升,把<=换成<
by jiangmuran @ 2023-08-07 13:56:07
@liaoyichen @SakurajiamaMai
换过了,还是不行,因为我是在其他平台上做的,题目是最长不下降子序列。 但无论是改还是不改,在luogu和另一个平台都只能拿20分
by liaoyichen @ 2023-08-07 13:59:01
@SakurajiamaMai 为什么要循环到 n
你的代码给我的感觉就是拼在一起
又想从 0
开始又想从 1
开始
by jiangmuran @ 2023-08-07 15:33:20
@liaoyichen 我发现只有到n才能拿到20分