bzoj 1996
2024-09-01 18:12:12
区间 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 = , Mod = ; int f[N][N][];
int A[N]; int main() {
int n;
std:: cin >> n;
for(int i = ; i <= n; i ++) std:: cin >> A[i];
for(int i = ; i <= n; i ++) f[i][i][] = ; //f[i][i][0] = 1;
for(int Len = ; Len <= n; Len ++) {
for(int i = ; i <= n; i ++) {
int j = i + Len - ;
if(j > n) continue;
if(A[i] < A[i + ]) f[i][j][] = (f[i][j][] + f[i + ][j][]) % Mod;
if(A[i] < A[j]) f[i][j][] = (f[i][j][] + f[i + ][j][]) % Mod;
if(A[j] > A[j - ]) f[i][j][] = (f[i][j][] + f[i][j - ][]) % Mod;
if(A[j] > A[i]) f[i][j][] = (f[i][j][] + f[i][j - ][]) % Mod;
}
}
std:: cout << (f[][n][] + f[][n][]) % Mod;
return ;
}
最新文章
- myhandle
- js实现xml转化成字符串
- ExtJs4中的复选树级联选择
- HTTP协议中状态码的应用
- 转:php 获取时间今天明天昨天时间戳
- H5时代的新存储简介
- 【BZOJ 1026】 [SCOI2009]windy数
- 转:ASP.NET中的SESSION实现与操作方法
- fork进程函数总结
- 学习OpenBlas
- poj1260
- Struts2, jquery, select二级联动
- Hibernate 配置文件hibernate.cfg.xml的详细
- 视频转GIF动态图怎样实现
- 学习CSS布局 - margin: auto;
- 关于PCB开窗
- 软件包管理:rpm命令管理-查询
- tomcat内存溢出问题解决思路
- java抽象类和普通类的区别
- mysql安装错误总结
热门文章
- 深度挖坑:从数据角度看人脸识别中Feature Normalization,Weight Normalization以及Triplet的作用
- C# 注册windows 服务
- Sublime Text 添加java环境
- ubuntu14.04
- VS2019编译 当前最新版chromium
- form表单提交后结果乱码的解决方法
- iOS 9.0中UIAlertController的用法。
- SuperMemo method
- Mybatis报错: There is no getter for property named xxx
- Window脚本学习笔记之BAT简介