• bzoj 1996


    区间 dp

     $f[i][j][1/0]$ 表示将理想数列的 $[i,j]$ 区间排好的方案数

     $f[i][j][1]$ 表示最后进去的是第 $i$ 个人

     $f[i][j][0]$ 表示最后进去的是第 $j$ 个人

    根据判断条件进行转移

    #include <bits/stdc++.h> 
    
    const int N = 1010, Mod = 19650827;
    
    int f[N][N][2];
    int A[N];
    
    int main() {
        int n;
        std:: cin >> n;
        for(int i = 1; i <= n; i ++) std:: cin >> A[i];
        for(int i = 1; i <= n; i ++) f[i][i][1] = 1; //f[i][i][0] = 1;
        for(int Len = 2; Len <= n; Len ++) {
            for(int i = 1; i <= n; i ++) {
                int j = i + Len - 1;
                if(j > n) continue;
                if(A[i] < A[i + 1]) f[i][j][1] = (f[i][j][1] + f[i + 1][j][1]) % Mod;
                if(A[i] < A[j]) f[i][j][1] = (f[i][j][1] + f[i + 1][j][0]) % Mod;
                if(A[j] > A[j - 1]) f[i][j][0] = (f[i][j][0] + f[i][j - 1][0]) % Mod;
                if(A[j] > A[i]) f[i][j][0] = (f[i][j][0] + f[i][j - 1][1]) % Mod;
            }
        }
        std:: cout << (f[1][n][1] + f[1][n][0]) % Mod;
        return 0;
    }
  • 相关阅读:
    关于javascript获取页面高度宽度
    regexp_substr在oracle9i的替换方案
    iOS-数据存储
    iOS-导入XMPP框架
    iOS-WWDC
    iOS-在Xcode中使用Git进行源码版本控制(转)
    iOS-AFN
    iOS-网络基础
    iOS-UIDynamic
    iOS-动画
  • 原文地址:https://www.cnblogs.com/shandongs1/p/9451970.html
Copyright © 2020-2023  润新知