dp板子题20分求助
查看原帖
dp板子题20分求助
645451
封禁用户楼主2023/8/7 13:18

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;
}
2023/8/7 13:18
加载中...