题解
2024-08-18 20:46:39
发布于:广东
28阅读
0回复
0点赞
这道题实际上求的是这个序列的最长不上升子序列(如果b1<=b2<=b3<=...<=bn,那么b1,b2,b3,...,bn就是不上升序列),和A7934.最长上升子序列很相似
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m=-1;
cin >> n;
int a[n];
for (int i=0;i<n;i++)
cin >> a[i];
int dp[n];
for (int i=0;i<n;i++)
{
dp[i]=1;
for (int j=0;j<i;j++)
{
if (a[i]<=a[j])
dp[i]=max(dp[i],dp[j]+1); //动态转移方程
}
m=max(dp[i],m); //更新最大值
}
cout << m;
return 0;
}
这里空空如也
有帮助,赞一个