洛谷 P1754 球迷购票问题

P1754 球迷购票问题

题目背景

盛况空前的足球赛即将举行。球赛门票售票处排起了球迷购票长龙。

按售票处规定,每位购票者限购一张门票,且每张票售价为50元。在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值100元的钱币。假设售票处在开始售票时没有零钱。试问这2N个球迷有多少种排队方式可使售票处不致出现找不出钱的尴尬局面。

题目描述

例如当n=2是,用A表示手持50元面值的球迷,用B表示手持100元钱的球迷。则最多可以得到以下两组不同的排队方式,使售票员不至于找不出钱。

第一种:A A B B

第二种:A B A B

[编程任务]

对于给定的n (0≤n≤20),计算2N个球迷有多少种排队方式,可以使售票处不至于找不出钱。

输入输出格式

输入格式:

 

一个整数,代表N的值

 

输出格式:

 

一个整数,表示方案数

 

输入输出样例

输入样例#1: 复制
2
输出样例#1: 复制
2

说明

必开QWORD

测试:N=15

回溯:1秒(超时)

模拟栈:大于10分钟

递归算法:1秒(超时)

动态规划:0 MS

组合算法:16 MS

思路:

一:卡特兰数

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
long long f[10000];
int main(){scanf("%d",&n);f[0]=f[1]=1;for(int i=2;i<=n;i++)for(int j=0;j<i;j++)f[i]+=f[j]*f[i-j-1];cout<<f[n];
}

二:动态规划。f[i][j]表示已经收了i个人的钱,现在手里有j张50的。

那 当现在收的人的钱是50元时 f[i][j]+=f[i-1][j-1]。因为多一张50的,所以现在50元比起原来就多了一张。

     当现在收的人的钱是100元时  f[i][j]+=f[i-1][j+1]。因为要找一张50的,所以比起原来就少了一张50的。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int f[42][42];
int main(){scanf("%d",&n);f[0][0]=1;for(int i=1;i<=2*n;i++)for(int j=0;j<=min(i,n);j++){if(j-1>=0)    f[i][j]+=f[i-1][j-1];if(j<=i)    f[i][j]+=f[i-1][j+1];}cout<<f[2*n][0];
}

 

转载于:https://www.cnblogs.com/cangT-Tlan/p/8045000.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php date函数实现,PHP date() 函数可实现的功能列表

date() 函数格式化本地日期和时间&#xff0c;并返回已格式化的日期字符串。date(format,timestamp);format 参数为必填&#xff0c;格式为何种格式timestamp 可选参数。规定整数的 Unix 时间戳。默认是当前的本地时间(time())。format参数如下&#xff1a;d - 一个月中的第几天…

ddd 企业应用架构模式_灵魂拷问:用了DDD分包就是落地了领域驱动设计吗?谈谈DDD本质...

学习DDD的时候&#xff0c;作为开发&#xff0c;我们更关心它在技术层面的东西&#xff0c;尤其体现在DDD的分包方式、编码技巧等方面。自然的&#xff0c;我们不禁发问&#xff0c;用了DDD的分包&#xff0c;就是实践落地了DDD了么&#xff1f;不卖关子&#xff0c;直接说答案…

java常见编码

摘自&#xff1a;http://www.cnblogs.com/yaya-yaya/p/5768616.html红色 主要点  灰色 内容 绿色 知识点 橘色 补充内容几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题&#xff0c;那就是为什么要编码&#xff1f;我们能不能不编码&#xff1f;要…

准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)

在机器学习、数据挖掘、推荐系统完成建模之后&#xff0c;需要对模型的效果做评价。业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等&#xff0c;下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。本文针对二元分类器&am…

php 前置操作方法,前置操作-THINKPHP 5.0 手册最新版

前置操作可以为某个或者某些操作指定前置执行的操作方法&#xff0c;设置 beforeActionList属性可以指定某个方法为其他方法的前置操作&#xff0c;数组键名为需要调用的前置方法名&#xff0c;无值的话为当前控制器下所有方法的前置方法。[except > 方法名,方法名]表示这些…

Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33

06-图2 Saving James Bond - Easy Version&#xff08;25 分&#xff09; This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by a group of drug dealers. He was sent to …

commit是直接提交到远程吗 svn_xcode 把项目代码提交到远程SVN服务器

环境 xcode 7 Mac airxcode默认支持GIT源码管理工具&#xff0c;但现在想把代码提交到已有到SVN服务器上&#xff0c;步骤如下&#xff1a;1&#xff0c;在safari中打开svn链接地址&#xff0c;信任证书&#xff0c;输入用户名密码 &#xff0c;登陆成功&#xff0c;可以在浏览…

oracle导入 表 卡住了,oracle数据库怎么导入dmp,只导入数据不导入表结构?

使用方法&#xff1a;Exp parameter_namevalue or Exp parameter_name(value1,value2……)只要输入参数helpy就可以看到所有帮助.EXP常用选项1.FULL&#xff0c;这个用于导出整个数据库&#xff0c;在ROWSN一起使用时&#xff0c;可以导出整个数据库的结构。例如&#xff1a;ex…

【bzoj3991】[SDOI2015]寻宝游戏 树链的并+STL-set

题目描述 给出一棵树&#xff0c;初始每个点都是非必经的。多次改变某个点的必经状态&#xff0c;并询问从任意一个点出发&#xff0c;经过所有必经的点并回到该点的最小路程。 输入 第一行&#xff0c;两个整数N、M&#xff0c;其中M为宝物的变动次数。 接下来的N-1行&#xf…

vue 引入json地图_VUE中通过Echarts引入地图

渲染的方法如下 记得引入echartsimport echarts from echarts-----------------------------------init(dalian){this.$nextTick(()>{var myChart this.$echarts.init(document.getElementById(echartMap));echarts.registerMap(dalian, dalian,{});myChart.setOption({ser…

Django---admin

Django内置admin 1.配置路由 urlpatterns [url(r^admin/, admin.site.urls),] 2.定制admin 在admin.py中只需要讲Mode中的某个类注册&#xff0c;即可在Admin中实现增删改查的功能&#xff0c;如&#xff1a; admin.site.register(models.UserInfo) 但是&#xff0c;这种方式比…

vue 父组件获取接口值传到子组件_vue父组件异步获取数据传给子组件的方法

但是现在问题是父组件的数据是异步获取的&#xff0c;而子组件一开始就会渲染&#xff0c;如果此时没有传入数据&#xff0c;而子组件又要用到数据中的length属性时就会报错&#xff1a;怎么办呢&#xff1f;最简单的办法就是让子组件条件渲染&#xff0c;当有数据的时候才渲染…

python爬取数据需要注意的问题

1 爬取https的网站或是接口的时候&#xff0c;如果是不受信用的SSL证书&#xff0c;会报错&#xff0c;需要添加如下代码&#xff0c;如下代码可以保证当前代码块内所有的请求都自动屏蔽ssl证书问题&#xff1a; import ssl # 这个是爬取https的链接需要的&#xff0c;以及下…

pandas 合并所有列_Python学习:Pandas库+练习资料

pandas包含数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas经常是和NumPy,Scipy以及数据可视化工具matplotlib一起使用的。pandas支持大部分NumPy语言风格的数组计算&#xff0c;但最大的不同在于pandas是用于处理表格型或异质型数据的。而NumP…

oracle 取mac地址,java执行命令,得到Mac地址

public static void main(String[] args) {String os System.getProperty("os.name");System.out.println("操作系统:"os);String address "";if (os ! null && os.startsWith("Windows")) {try {String command "cmd…

solidity 十六进制字符串转十六进制bytes

pragma solidity ^0.4.16;contract Metadata {// 十六进制字符串转换成bytesfunction hexStr2bytes(string data)returns (bytes){uint _ascii_0 48;uint _ascii_A 65;uint _ascii_a 97;bytes memory a bytes(data);uint[] memory b new uint[](a.length);for (uint i 0;…

spring配置主库从库_Spring主从数据库的配置和动态数据源切换原理

原文&#xff1a;https://www.liaoxuefeng.com/article/00151054582348974482c20f7d8431ead5bc32b30354705000在大型应用程序中&#xff0c;配置主从数据库并使用读写分离是常见的设计模式。在Spring应用程序中&#xff0c;要实现读写分离&#xff0c;最好不要对现有代码进行改…

oracle rac实例切换,RAC+单实例DG的切换

RAC单实例DG的切换RAC单实例DG的搭建过程之前切换不成功&#xff0c;和参数设置有关。注意的参数是sid* 之类的&#xff0c;刚搭建好的环境racdbdg是单实例的&#xff0c;是备库&#xff0c;rac节点是主库。搭建完毕&#xff0c;切换了一次&#xff0c;刚好主库是单实例的racdb…

tablueau地图标记圆形_R语言在线地图神器:Leaflet for R包(三) 符号标记

如果还是直接写&#xff0c;会出现错误提示&#xff0c;说找不到经纬度的列像这种情况&#xff0c;就需要进行显式申明了&#xff1a;(顺便换个背景底图)leaflet(dh)%>%addProviderTiles("Esri.WorldStreetMap")%>%setView(116.4,39.9,zoom10)%>%addMarkers…

zabbix自动发现主机并加入组绑定模板

在被监控主机多的情况下&#xff0c;怎样将这些主机加入zabbix server进行监控呢&#xff1f;下面将介绍下zabbix自动发现功能 1、创建自动发现规则 创建“规则名称&#xff0c;配置ip范围及检查方式”&#xff0c;点击“增加”&#xff0c;完成自动发现规则的创建 2、加入组和…