动态规划基本模型(一)
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int a[1001],b[1001],dp[10001]; int n,ans,ans1; int main () { cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=2;i<=n;i++) for (int j=1;j<=i;j++) { if (a[i]>=a[j]) dp[i]=max(dp[i],dp[j]+1); } //最长不下降子序列长度 for (int i=1;i<=n;i++) { ans=0; for (int j=i;j<=n;j++) { ans+=a[j]; ans=max(ans,ans1); } } //最大连续子段和 }