看到n<=20我就想暴力打表找出所有情况了;但死在第15组,要花的时间太久了;
然后就想着推嘛;每次加入一个当前情况最大的数;合理的位置就是高低高低高;所以要找前面高低的情况n,后面低高的情况m;那总情况就是n*m;
所以就是求n,m还有选择前面数的方法数C【i-1】【j】一共i个数,将i放在j位置上
组合数可以打表,n,m就递推来求;
dp【i】【0】表示i个数高低的情况;dp【i】【1】表示i个数低高的情况;
写下n=3,n=4;的情况就能推断出dp【i】【0】=dp【i】【1】=总情况数/2;
注意1特判;

#include<bits/stdc++.h>
using namespace std;  long long dp[25][2],ans[25];
long long c[20][25],t;
void init()
{c[1][1]=1;  c[1][0]=1;  for(int i=2;i<=20;i++)//算组合数  {  c[i][0]=c[i][i]=1;  for(int j=1;j<i;j++)  c[i][j]=c[i-1][j]+c[i-1][j-1];  }  dp[1][0]=dp[1][1]=dp[0][0]=dp[0][1]=1;//初始为1  for(int i=2;i<=20;i++)  {  t=0;//t记录总方法数  for(int j=0;j<i;j++)  {  t+=dp[j][0]*dp[i-j-1][1]*c[i-1][j];  }  dp[i][0]=dp[i][1]=t/2;  }
}
int main()
{  init();int cas;scanf("%d",&cas);  while(cas--)  {   int cs,n;scanf("%d%d",&cs,&n);  if(n==1)  {  printf("%d 1\n",cs);  continue;  }  printf("%d %I64d\n",cs,dp[n][0]<<1);  }  return 0;
} 

hdu 4489 The King’s Ups and Downs相关推荐

  1. 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/ ...

  2. 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 ...

  3. 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 ...

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

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

  5. hdu 4489 The King’s Ups and Downs 组合 递推

    题意:给定n个个数1~n.要求他们排成一列满足"波浪型".第一个大于第二个,第二大于第三个,(或者第一个小于第二个,第二个小于第三个..)也就是相对的高矮高矮...或矮高矮高..依 ...

  6. HDU 4489 The King's Ups and Downs

    题目链接 问的是n个不一样的数,大小交替,或者小大交替的种类数量. n个数,想象成[1,n]的自然数即可. 我们假设大小交替得到的长度为i的排列数为dp1[i],小大交替得到的长度为i的排列数为dp2 ...

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

    题目链接 题目大意: 给一个n,求身高为1-n的n个人排成 高低高低高低  或 低高低高低高 这种波浪式的形状有多少种: 思路: 把第n个人插到前n-1个人的序列中,序列中共有n个空位,第n个人一定是 ...

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

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

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

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

最新文章

  1. 通过cookies跳过验证码登陆页面,直接访问网站的其它URL
  2. Bloom Filter:海量数据的HashSet
  3. RuntimeError: The full_object_detection must use the iBUG 300W 68 point face landmark style.
  4. Vertical Menu ver4
  5. 笔记本电脑linux系统下载,给笔记本电脑装Linux系统
  6. 阿里云年会人机大战-技术大揭秘
  7. python环境变量的配置_python基础教程-第一讲-带你进入python的世界
  8. RedisTemplate常用集合使用说明-opsForSet(五)
  9. 算法---计算平方根(牛顿迭代法)
  10. springboot+security框架整合
  11. ASP.NET ActionPack
  12. 周志华机器学习西瓜书速记第二章绪论模型评估与选择(一)
  13. html3d房子立体图片,如何制作3D立体图片
  14. 2021-2027全球与中国拆弹机器人市场现状及未来发展趋势
  15. 求主对角线上各元素之和(C语言)
  16. D - Silver Cow Party J - Invitation Cards 最短路
  17. 【python绘制地图】使用folium制作地图,可解决多数问题
  18. mysql 与sybase小知识
  19. 支付宝、微信共同宣布:将“取消”扫码支付,使用全新付款方式!
  20. 内连接与外连接-及其典型案例

热门文章

  1. Helm应用包管理器(helm-v3.8.1)
  2. windows - 摄像头采集
  3. 轻击鼠标,实现完美分区
  4. 计算机网络——路由、交换、子网篇
  5. 质量管理工具_老七工具之一__帕累托图
  6. 解析:type t_string is table of varchar2(32767) index by binary_integer
  7. joomla模板开发
  8. 朋友圈可以定时发送吗?
  9. 字节跳动2021笔试题目
  10. Java IDE MyEclipse 使用教程:使用 MyEclipse 应用服务器(一)