1 条题解
-
0赵青海 (huhe) LV 7 SU @ 2021-8-8 2:24:30
C++ :
#include<iostream> #include<cmath> #include<cstring> using namespace std; #pragma GCC optimize(2) #define N 5001 int n,maxn=1,ans; int a[N],dp[N],f[N]; int main(void){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; dp[i]=f[i]=1; } for(int i=2;i<=n;i++){ for(int j=1;j<i;j++){ if(a[i]<a[j]){ if(dp[i]<dp[j]+1){ dp[i]=dp[j]+1; f[i]=f[j]; }else if(dp[i]==dp[j]+1){ f[i]+=f[j]; } } if(a[j]==a[i])dp[j]=f[j]=0; } maxn=max(maxn,dp[i]); } for(int i=1;i<=n;i++){ if(dp[i]==maxn)ans+=f[i]; } cout<<maxn<<" "<<ans; return 0; }
- 1
信息
- ID
- 224
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 11
- 已通过
- 0
- 上传者