1 条题解

  • 0
    @ 2025-11-11 11:05:33
    // 线性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
    上传者