题目链接

https://www.lydsy.com/JudgeOnline/problem.php?id=1996

题解

区间dp,记f[i][j]表示[i,j][i,j][i,j]区间,最后一个取iii的方案数,g[i][j]表示[i,j][i,j][i,j]区间最后一个取jjj的方案数,状态转移很显然。

代码

#include <cstdio>int read()
{int x=0,f=1;char ch=getchar();while((ch<'0')||(ch>'9')){if(ch=='-'){f=-f;}ch=getchar();}while((ch>='0')&&(ch<='9')){x=x*10+ch-'0';ch=getchar();}return x*f;
}const int maxn=1000;
const int mod=19650827;int n,h[maxn+10],f[maxn+10][maxn+10],g[maxn+10][maxn+10];int main()
{n=read();for(int i=1; i<=n; ++i){h[i]=read();}for(int i=1; i<=n; ++i){f[i][i]=1;}for(int len=2; len<=n; ++len){for(int i=1; i+len-1<=n; ++i){int j=i+len-1;f[i][j]=(h[i]<h[i+1])*f[i+1][j]+(h[i]<h[j])*g[i+1][j];if(f[i][j]>=mod){f[i][j]-=mod;}g[i][j]=(h[j]>h[j-1])*g[i][j-1]+(h[j]>h[i])*f[i][j-1];if(g[i][j]>=mod){g[i][j]-=mod;}}}int ans=f[1][n]+g[1][n];if(ans>=mod){ans-=mod;}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/Canopus-wym/p/10376140.html

BZOJ 1996 [Hnoi2010]chorus 合唱队相关推荐

  1. bzoj 1996: [Hnoi2010]chorus 合唱队

    Description 为了在即将到来的晚会上有吏好的演出效果,作为AAA合唱队负责人的小A需要将合唱队的人根据他们的身高排出一个队形.假定合唱队一共N个人,第i个人的身髙为Hi米(1000<= ...

  2. BZOJ1996:[HNOI2010]CHORUS 合唱队(区间DP)

    Description Input Output Sample Input 4 1701 1702 1703 1704 Sample Output 8 HINT Solution 辣鸡guide真难用 ...

  3. bzoj1996 [Hnoi2010]chorus 合唱队 区间dp

    题目隐藏了一个性质,就是新加入的不是在区间最左边,就是在最右边 所以就直接根据最左边和最右边的大小关系转移就可以了 #include<iostream> #include<cstdi ...

  4. BZOJ 1997: [Hnoi2010]Planar( 2sat )

    平面图中E ≤ V*2-6.. 一个圈上2个点的边可以是在外或者内, 经典的2sat问题.. ----------------------------------------------------- ...

  5. BZOJ.2000.[HNOI2010]stone取石头游戏(博弈)

    BZOJ 洛谷 低估这道神题了_(:з」∠)_ MilkyWay好狠啊(小声) \(Description\) 有一些数字,被分成若干双端队列(从两边都可以取)和最多两个栈(只能从某一边一个一个取)的 ...

  6. bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊(分块)

    2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 10761  Solved: 5542 [Su ...

  7. BZOJ 2004 [Hnoi2010]Bus 公交线路

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2004 题解 状压dp,记f[i][S]f[i][S]f[i][S]表示[1,i−p][1 ...

  8. [BZOJ 2002][Hnoi2010]Bounce 弹飞绵羊(分块)

    Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...

  9. BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊

    Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...

最新文章

  1. 在UWP中自定义半边框样式的输入框
  2. 【Scratch】青少年蓝桥杯_每日一题_8.03_飞猫
  3. Python网络爬虫与信息提取(三):网络爬虫之实战
  4. 2016年股市上扬将一路顺畅
  5. 利用SVD-推荐未尝过的菜肴2
  6. Docker快速搭建TeamSpeak多人语音聊天服务器
  7. c语言字符串截取_一文搞懂 C 语言 #、##、__VA_ARGS__
  8. 走进我的交易室03_第一步成功的外部障碍
  9. 客户的价值源于客户的流程
  10. 使用ActionSupport验证登录
  11. 【OpenCV-Python-课程学习(贾)】OpenCV3.3课程学习笔记:图像色彩空间转换(cvtColor),imread()的grayscale和cvtColor()的区别、通道分离与转换
  12. 打印文件提示服务器错误,要打印文件时,总是出现打印错误,上班族的你快来看看吧!...
  13. web课程设计网页规划与设计~在线阅读小说网页共6个页面(HTML+CSS+JavaScript+Bootstrap)...
  14. XMUTOJ-默罕默德的炸弹
  15. 局域网设置共享打印机步骤
  16. hadoop 文本统计一个字符的个数_hadoop统计单词个数 - 卡饭网
  17. 科普贴:远程开户,有哪些离岸银行可以选?
  18. 区块链开发者观点:《Learn EOS》的作者 Christoph Michel
  19. k8s(一):基础核心概念
  20. TS 如何解决已声明“XXX”,但从未读取其值

热门文章

  1. 《电子基础与维修工具核心教程》——2.6 节点分压原理
  2. Apache Rewrite url重定向功能的简单配置
  3. Spring Boot(四)Accessing application arguments
  4. 自动删除指定文件夹下N天前文件的批处理
  5. PHP截取两个字符串之间的内容
  6. PHP5+apache_2.0.50+MySQL4.0+SQLServer安装方法
  7. 从零学React Native之12 组件的生命周期
  8. java-mybaits-00101-基础安装配制
  9. Ubuntu系统在VMware虚拟机中显示显示过小
  10. ELK环境搭建及client配置