详细题目见:http://7xjob4.com1.z0.glb.clouddn.com/0f10204481da21e62f8c145939e5828e

思路:记dp[i][j]表示第i个木板尾部在j的方案数。那么对于i+1,可以分三种情况讨论,一种是i+1的头部在第i根整段的左边,一种是在右边,还有在中间,中间的有两种情况,其他都只有一种,然后就可以转移了。

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<string>
#include<algorithm>
using namespace std;
typedef long long ll;
#define inf 99999999
#define pi acos(-1.0)
#define MOD 2147483647
#define maxn 2050
ll a[maxn],dp[maxn][maxn]; int main()
{
ll n,m,i,j,c;
ll l,r;
while(scanf("%lld",&n)!=EOF)
{
scanf("%lld",&c);
for(i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
memset(dp,0,sizeof(dp));
dp[1][c]=1;
for(i=1;i<=n-1;i++){
for(j=1;j<=n+1;j++){
if(dp[i][j]){
l=a[i];r=j;
if(l>r)swap(l,r);
if(a[i+1]<=l){
dp[i+1][r ]=(dp[i+1][r ]+dp[i][j])%MOD; }
else if(a[i+1]>=r){
dp[i+1][l ]=(dp[i+1][l ]+dp[i][j] )%MOD;
}
else{
dp[i+1][r ]=(dp[i+1][r ]+dp[i][j])%MOD;
dp[i+1][l ]=(dp[i+1][l ]+dp[i][j] )%MOD;
}
}
}
}
ll sum=0;
for(j=1;j<=n+1;j++){
sum=(sum+dp[n][j])%MOD;
}
printf("%lld\n",sum);
}
return 0;
}

最新文章

  1. Linux内核笔记--内存管理之用户态进程内存分配
  2. Mongodb 学习笔记
  3. PHP5.6.15连接Sql Server 2008配置方案
  4. [转载]SharePoint 2013 解决方案中使用JavaScript
  5. 标识映射(Identify Map)
  6. Hibernate中的&quot;Repeated column in mapping for entity&quot;异常
  7. FFmpeg 协议初步学习
  8. Eclipse rap 富客户端开发总结(3):rcp/rap目前界面上的一些差异
  9. OC第二天—封装
  10. hue报错StructuredException: timed out (code THRIFTSOCKET): None的处理
  11. 环境变量误删path找回方法与mysql基础命令
  12. Xeon Phi 《协处理器高性能编程指南》随书代码整理 part 1
  13. 【Dubbo&amp;&amp;Zookeeper】3、Failed to read schema document &#39;http://code.alibabatech.com/schema/dubbo/dubbo.xsd&#39;问题解决方法
  14. php性能提升与检测
  15. Django具体操作(三)
  16. powershell上传证书
  17. 打包部署到tomcat
  18. 内部排序比较(Java版)
  19. 数据结构——栈(C语言实现)
  20. iosFQ教程

热门文章

  1. logback为不同的包或类指定输出日志文件
  2. 【Oracle】等待事件之 V$SESSION_WAIT
  3. XSS类型,防御及常见payload构造总结
  4. C语言流程图画法(C语言学习笔记)
  5. SparkStreaming和Kafka基于Direct Approach如何管理offset实现exactly once
  6. 1V转3V的低功耗升压芯片
  7. 集成Redis缓存
  8. JS实现鼠标移入DIV随机变换颜色
  9. LVS负载均衡理论以及算法概要
  10. GRASP职责分配模式