1.题目描述:点击打开链接

2.解题思路:本题通过寻找递推关系解决。设d(i,j,k)表示让高度为1~i的杆子排成一行,从左边能看到j根,从右边能看到k根的方案数。如果开始按照从小到大把1~i-1根杆子排好了,那么高度为i的杆子可能会挡住许多杆子,很难写递推式。此时不妨换一个角度考虑:按照从大到小的顺序排列各个杆子。假设已经完成高度为2~i的杆子,那么高度为1的杆子不管放到哪里都不会挡住任何一根杆子。此时有如下三种情况:

(1)插到最左边,则从左边能看到它,从右边看不到它。(因为i≥2),方案数是d(i-1,j-1,k);

(2)如果插到最右边,则从右边能看到它,从左边看不到它,方案数是d(i-1,j,k-1);

(3)插到中间(有i-2个插入位置),则不管从左边还是从右边都看不见它,方案数是d(i-1,j,k)*(i-2);

由此可以得到如下递推式:d(i,j,k)=d(i-1,j-1,k)+d(i-1,j,k-1)+d(i-1,j,k)*(i-2)

本题可以提前打表,直接输出即可。

3.代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;typedef long long LL;
#define N 20+10
int n, l, r;
LL d[N][N][N];
void init()
{d[1][1][1] = 1;for (int i = 2; i <= 20;i++)for (int j = 1; j <= 20;j++)for (int k = 1; k <= 20; k++)d[i][j][k] = d[i - 1][j - 1][k] + d[i - 1][j][k - 1] + d[i - 1][j][k] * (i - 2);
}
int main()
{//freopen("test.txt", "r", stdin);init();int t;cin >> t;while (t--){cin >> n >> l >> r;cout << d[n][l][r] << endl;}return 0;
}

例题10-15 杆子的排列 UVa1638相关推荐

  1. NOIP模拟(10.22)T2 杆子的排列

    杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...

  2. python随机产生10个数然后前5个升序后5个降序_编写程序,生成包含 20 个随机数的列表,然后将前 10 个元素升序排列,后 10 个元素降序排列,并输出结果。_学小易找答案...

    [填空题]在 Python3.x 中 input() 函数接收到的用户输入数据一律为 ________ . [填空题]运算符% (可以.不可以)对浮点数进行求余数操作. [简答题]解释 Python ...

  3. 5,10,15,20-(4-苯酚基)-卟啉TPPOH;meso-四(4-三甲铵基苯基)卟啉TTAP;四-(4-磺酸基苯基)卟啉TPPS4;四-(4-乙晴吡啶基)卟啉(TNAPyP);齐岳供应卟啉系列

    5,10,15,20-(4-苯酚基)-卟啉(简称:TPPOH) 两种非手性的卟啉衍生物,5,10,15,20-(4-苯甲醚基)-卟啉(简称:TPPOMe)和5,10,15,20-(4-苯酚基)-卟啉( ...

  4. 项目需求|10~15万|自动上料系统—将物料通过机械手臂挂在挂钩上

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 项目需求: 自动上料系统(将物料通过机械手臂挂在挂钩上) 需求内容: 1.利用3D视觉技术(点云配置或 ...

  5. 虚拟机中的黑苹果系统经常卡死_程序员吐槽macOS 10.15系统:破坏SSH默认规则

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 苹果电脑最新的10.15.4系统,你更新了吗? 如果你不幸升级,而且还是要使用SSH的用户,那么恭喜你中招了. 最近,一位名叫Taylor ...

  6. 电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场

    电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场 无限长均匀电流 无限长圆柱面均匀电流密度 无限长均匀电流 假设z轴上有一根非常细的电线,携带均匀电流I0I_0I ...

  7. Interview:算法岗位面试—10.15上午—上海某公司算法岗位(偏图像算法,制造行业)技术面试考点之AI算法与实际场景结合产生商业价值的头脑风暴

    Interview:算法岗位面试-10.15上午-上海某公司算法岗位(偏图像算法,制造行业)技术面试考点之AI算法与实际场景结合产生商业价值的头脑风暴 导读:一心想去互联网,未必能够发挥自己最大价值, ...

  8. Interview:算法岗位面试—10.15下午—上海某公司算法岗位(偏机器学习,合资制造行业)技术面试考点之电话面试—研究项目的技术考察

    Interview:算法岗位面试-10.15下午-上海某公司算法岗位(偏机器学习,合资制造行业)技术面Interview:算法岗位面试-10.15下午-上海某公司算法岗位(偏机器学习,合资制造行业)技 ...

  9. 【译】A quick list of new enterprise features in iOS 13, iPadOS, and macOS 10.15 Catalina

    苹果WWDC 2019主题演讲就在几个小时前结束,事实证明,正如我们希望的那样,企业有很多新闻,特别是关于身份管理和BYOD的新闻! 现在,这是我们的企业功能初步列表.可能会有更新-我们仍然必须等待完 ...

最新文章

  1. 当我们在说微服务治理的时候究竟在说什么
  2. C#复制数组的两种方式,以及效率比较
  3. MySQL: Root element is missing
  4. 实战项目一:爬取西刺代理(获取代理IP)
  5. 1.4_10 有一门不及格的学生
  6. flask-01-http通信的回顾
  7. 【干货】2021年重点行业薪酬趋势指南.pdf(附下载链接)
  8. java上拉变量_「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
  9. 计蒜客 蓝桥杯模拟五 合并数字
  10. 平方矩阵——3种思路
  11. 如何从官网下载Hibernate源码与jar包
  12. 【jQuery】jQuery本地时间与世界时间时差转换
  13. hdu5773The All-purpose Zero
  14. 手把手使用 vue-lic3.0 快速构建项目(全)
  15. vue中设置移动的盒子
  16. ODBC方式连接数据库
  17. SQLTableSource
  18. OneNote-做笔记的软件-强烈推荐
  19. 【大数据 / linux 系统 / KEN】linux 基本命令的使用(3)
  20. Android 10.0 移动网络默认为4G

热门文章

  1. 2021-06-08-前端生成二维码和条形码(一维码)
  2. 杭州有露天电影吗,当贝投影仪全国露天电影活动小区楼下喊你来看
  3. 吴恩达机器学习(八)多元梯度下降
  4. eds软件android161,EDS(EDS电气设计软件包)_百度百科
  5. aes128 cmac java_AES-与基于AES-的CMAC.doc
  6. 在access中记录的末尾标志是什么_ACCESS教材第45章习题
  7. unturned服务器怎么自定义,unturned怎么开服务器 开服方法
  8. C语言程序设计——字符串和数组
  9. 设置联想键盘恢复F1~F12默认按键的操作办法
  10. 全面分析RHCE7(红帽认证工程师)考试题目之 ----SSH篇