1 条题解
-
0
线性dp基础题
#include<iostream> using namespace std; int n,ans,a[2010],dp[2010]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ if(a[j]<a[i]){//判断是否符合条件 dp[i]=max(dp[i],dp[j]+1);//取这个数与不取的最优 } } } for(int i=1;i<=n;i++){ ans=max(ans,dp[i]);//取最优答案 } cout<<ans; return 0; }
- 1
信息
- ID
- 51
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 33
- 已通过
- 9
- 上传者