luogu 3200 [HNOI2009]有趣的数列 卡特兰数+质因数分解
打个表发现我们要求的就是卡特兰数的第 n 项,即 $\frac{C_{2n}^{n}}{n+1}$.
对组合数的阶乘展开,然后暴力分解质因子并开桶统计一下即可.
code:
#include <bits/stdc++.h>
#define N 100040
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int nex[N],vis[27];
char str[N];
int main()
{
// setIO("input");
int n,i,j;
scanf("%d",&n);
nex[0]=-1;
for(i=1;i<=n;++i)
{
scanf("%d",&nex[i]), nex[i]=i-nex[i];
if(nex[i]) str[i]=str[nex[i]];
else
{
for(j=nex[i-1];~j;j=nex[j]) vis[str[j+1]-'a']=i;
for(j=0;j<26;++j) if(vis[j]!=i) break;
str[i]=j+'a';
}
}
printf("%s\n",str+1);
return 0;
}
luogu 3200 [HNOI2009]有趣的数列 卡特兰数+质因数分解的更多相关文章
- BZOJ1485: [HNOI2009]有趣的数列(Catalan数,质因数分解求组合数)
		题意 挺简洁的. 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…<a ... 
- [HNOI2009]有趣的数列 卡特兰数
		题面:[HNOI2009]有趣的数列 题解: 观察到题目其实就是要求从长为2n的序列中选n个放在集合a,剩下的放在集合b,使得集合a和集合b中可以一一对应的使a中的元素小于b. 2种想法(实质上是一样 ... 
- BZOJ1485:[HNOI2009]有趣的数列(卡特兰数)
		Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…&l ... 
- [HNOI2009] 有趣的数列——卡特兰数与杨表
		[HNOI 2009] 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…&l ... 
- bzoj 1485 [HNOI2009]有趣的数列 卡特兰数
		把排好序的序列看成一对对括号,要把他们往原数列里塞,所以就是括号序合法方案数 即为卡特兰数 f(n)=Cn2nn+1 求的时候为避免除法,可以O(n)计算每个素数出现次数,最后乘起来,打完之后发现其实 ... 
- 【BZOJ 1485】[HNOI2009]有趣的数列 卡特兰数
		这个题我是冲着卡特兰数来的所以就没有想到什么dp,当然也没有想到用卡特兰数的原因........... 你只要求出前几项就会发现是个卡特兰数,为什么呢:我们选择地时候要选择奇数位和偶数位,相邻(一对里 ... 
- BZOJ1485: [HNOI2009]有趣的数列(卡特兰数+快速幂)
		题目链接 传送门 题面 思路 打表可以发现前六项分别为1,2,5,12,42,132,加上\(n=0\)时的1构成了卡特兰数的前几项. 看别人的题解说把每一个数扫一遍,奇数项当成入栈,偶数项当成出栈, ... 
- BZOJ 1485: [HNOI2009]有趣的数列( catalan数 )
		打个表找一下规律可以发现...就是卡特兰数...卡特兰数可以用组合数计算.对于这道题,ans(n) = C(n, 2n) / (n+1) , 分解质因数去算就可以了... -------------- ... 
- BZOJ 1485: [HNOI2009]有趣的数列 [Catalan数 质因子分解]
		1485: [HNOI2009]有趣的数列 Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所 ... 
随机推荐
- vue 写一个炫酷的轮播图
			效果如上图: 原理: 1.利用css 的 transform 和一些其他的属性,先选五张将图片位置拍列好,剩余的隐藏 2.利用 js 动态切换类名,达到切换效果 css代码如下 .swiper-cer ... 
- Maven安装和加速
			Maven安装和加速 下载带二进制源码包,解压 将bin设置为环境变量 加速器,修改conf文件夹下的settings.xml文件,添加如下镜像配置: <mirrors> <mirr ... 
- hdu 3974 dfs时间戳+线段树
			题意: 一个公司里面每个员工都有一个顶头上司,一旦给某个员工分配任务后,这个员工以及该员工的所有下属都在做该任务. 有若干操作,分配给员工任务以及查询该员工正在执行的任务. 题解: 典型的更新字树的操 ... 
- vue组件上动态添加和删除属性
			1.vue组件上动态添加和删除属性 // 添加 this.$set(this.obj, 'propName', val) // 删除 this.$delete(this.obj, 'propName' ... 
- Pyhton模块和包
			一 模块 1.1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用pytho ... 
- UI5-技术篇-事务Tcode
			1.LPD_CUST 快速启动板概览 2./N/UI2/FLPD_CONF 创建目录与组(全部客户端) 3./N/UI2/FLPD_CUST 创建目录与组(当前客户端) 4./N/UI2/FLP 编辑 ... 
- 重构drf后的环境变量配置
			目录 环境变量 配置media 封装logger 封装项目异常处理 二次封装Response模块 环境变量 dev.py # 环境变量操作:小luffyapiBASE_DIR与apps文件夹都要添加到 ... 
- Linux如何监控每个进程所消耗流量
			查看整个系统的网卡流量使用情况 可以参考下这篇总结比较全面的文章 监控具体的某个进程所消耗的流程 首先,Linux没有自带这样的工具,通过这款第三方开源工具,也是比较好用,如果有其他的办法欢迎留言 # ... 
- Django之模型层2
			多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对 ... 
- RMAN恢复数据文件
			实验之前先备份数据库 RMAN>backup database; 在操作系统中删除数据文件 5 SQL> startup ORACLE 例程已经启动. Total System Globa ... 
