题意

给你一个n问你对这n个人排列使得是波浪型的方案数有多少

题解

我们定义这n个人是1,2,3......n的从小到大的排列方式,当遍历到第i个人时,我们要将这个人插入到前面的i-1个人中,那么我们要怎么插入呢,假设我们插入的这个位置为k,那么k前面的两个人应该满足是下降的,后面的两个人应该是满足上升的,。然后就可以dp啦。

dp[i][0]表示有i个人满足最后两个人是下降的种数

dp[i][1]表示有i个人满足前面两个人是上升的种数

假设k前面有j个人,我们插入的位置应该是从0-i这个位置都能插入。

#include <iostream>using namespace std;typedef long long ll;ll dp[22][22];
ll c[22][22];
int main()
{for(int i=1;i<22;i++){c[i][0]=c[i][i]=1;for(int j=1;j<i;j++)c[i][j]=c[i-1][j-1]+c[i-1][j];}dp[0][0]=dp[0][1]=dp[1][1]=dp[1][0]=1;for(int i=2;i<22;i++){ll res=0;for(int j=0;j<=i;j++)res+=dp[j][0]*dp[i-1-j][1]*c[i-1][j];dp[i][0]=dp[i][1]=res/2;}int T;cin>>T;while(T--){int a,b;scanf("%d%d",&a,&b);if(b==1) printf("%d 1\n",a);else printf("%d %lld\n",a,dp[b][1]+dp[b][0]);}return 0;
}

The King’s Ups and Downs HDU - 4489(计数+dp)相关推荐

  1. The King’s Ups and Downs HDU - 4489

    题目传送门 题意:给你n个人有不同的身高,让他们排列为身高按照波浪状排列,问有多少种排列方式. 思路:是个DP,想了两个小时没想出来什么思路,明明是要想DP的思路,但是总是想到暴力上面去了,看了一下题 ...

  2. HDU - 4489 The King’s Ups and Downs (排列组合+dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4489点击打开链接 The King's Ups and Downs Time Limit: 2000/ ...

  3. HDU 4489 The King’s Ups and Downs 组合DP

    The King's Ups and Downs HDU - 4489 给一个整数 nnn,求 {1,⋯,n}\{1,\cdots,n\}{1,⋯,n} 符合以下条件的的排列数: 设 a1,⋯,ana ...

  4. HDU 4489 The King’s Ups and Downs(组合DP)

    作者:Accagain 链接:点击打开链接 原题 The King's Ups and Downs Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...

  5. The King’s Ups and Downs (线性DP)

    The King's Ups and Downs (线性DP) [link](Problem - 4489 (dingbacode.com)) 题意 给你n个身高不同的人,问你这些人按照波浪形排列有多 ...

  6. 6177 The King’s Ups and Downs(组合dp)

    欢迎访问https://blog.csdn.net/lxt_Lucia-- 宇宙第一小仙女\(^o^)/--萌量爆表求带飞=≡Σ((( つ^o^)つ~ dalao们点个关注呗-- ---------- ...

  7. HDU-4489-The King’s Ups and Downs

    HDU-4489-The King's Ups and Downs 这道题是一道组合dp=-=嘻嘻 传送门 怎么这么巧捏,我昨天刚刚写了个组合的代码跑概率论,结果今天就来了个组合dp,昨天还苦恼着组合 ...

  8. 【dp】The King‘s Ups and Downs

    题目描述:给一个n,求n个高矮不同的人排成一排使得高.矮依次排列的种数. 考虑状态转移,由于从n-1到n个人多增加了一个身高最高的人,又要求高矮依次排列,因此新加入的这个人只能放在前两个人为高矮,后两 ...

  9. hdu 4489 The King’s Ups and Downs【递推】

    题目 http://acm.hdu.edu.cn/showproblem.php?pid=4489 题意 给一个n,求n个高矮不同的人排成一排使得高.矮依次排列的种数. 分析 我们不妨把n个人的身高设 ...

最新文章

  1. intent传递有没有大小限制,是多少?
  2. Cordova webapp实战开发:(1)为什么选择 Cordova webapp?
  3. mysql的优化——索引介绍
  4. 区块链BaaS云服务(39)时戳信息Bystack“架构“
  5. web前端学习总结--JQuery
  6. solr 自定义 dismax查询方式
  7. GDB调试——常用命令
  8. mysql root用户创建数据库,分配到一个帐户下
  9. python 3的33个保留字列表_python 33个保留字是什么意思
  10. Validator 使用总结
  11. SpringCloud Ribbon之概述(一)
  12. linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))
  13. 最近的问题汇总(至2010/10/6 12:00)
  14. 大数据“下田”,未来农业将成为世界上最重要的产业之一
  15. [转载] Python学习之numpy函数 all()和any()比较矩阵
  16. 小猿圈分享-数据分析工具
  17. .NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比...
  18. 软件工程的极端所有权
  19. Django ORM 使用手册
  20. 在字节跳动实习的真实感受究竟如何?

热门文章

  1. PHPMyWind 事务
  2. Protoss and Zerg(快速幂)
  3. 给本地openwrt/LEDE软件源添加软件包,更新Package.sig签名文件,解决Signature check failed问题
  4. Echarts设置y轴值间隔
  5. 利用计算机程序快速得到9*9大小数独的解法
  6. python编写游戏测试机器人客户端(一)
  7. 防CC攻击 软件防火墙和WEB防火墙大比较
  8. 从软件外包到阿里技术专家再到CTO,他究竟是如何一路晋升?
  9. Mac电脑蓝牙连接出问题了,如何重置Mac的蓝牙模块
  10. 测试学习--云测试平台