1 条题解
-
0
// 线性DP O(n^2) #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int mod=998244353; int n,a[5005],f[5005]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); f[0]=1;a[0]=a[n+1]=n+1; for(int i=1,l,r;i<=n;i++){ for(l=i;a[l-1]<a[i];l--); for(r=i;a[r+1]<a[i];r++); for(int j=l;j<=r;j++) f[j]=(f[j]+f[j-1])%mod; } cout<<f[n]; }
- 1
信息
- ID
- 7124
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者