BZOJ2822 [AHOI2012]树屋阶梯
求卡特兰数,h[i]=C(2n,n)/(n+1)
1 #include<bits/stdc++.h> 2 using namespace std; 3 int v[1005],p[1005],num[1005],n,cnt; 4 void pri() 5 { 6 for(int i=2;i<=n*2;++i) 7 { 8 if(!v[i])p[++cnt]=i; 9 for(int j=1;j<=cnt&&i*p[j]<=n*2;++j) 10 { 11 v[j]=1;if(i%p[j]==0)break; 12 } 13 } 14 } 15 void add(int x,int f) 16 { 17 int j=1; 18 while(x!=1) 19 { 20 while(x%p[j]==0)num[j]+=f,x/=p[j]; 21 j++; 22 } 23 } 24 struct node{ 25 int v[305],l; 26 node operator *(int x) 27 { 28 for(int i=1;i<=l;++i)v[i]=v[i]*x; 29 for(int i=1;i<=l;++i) 30 { 31 v[i+1]+=v[i]/10; 32 v[i]%=10; 33 if(v[l+1])++l; 34 } 35 return *this; 36 } 37 void print(){ 38 for(int i=l;i;--i) 39 printf("%d",v[i]); 40 } 41 }ans; 42 int main() 43 { 44 scanf("%d",&n); 45 pri(); 46 for(int i=n*2;i>n;--i)add(i,1); 47 for(int i=1;i<=n+1;++i)add(i,-1); 48 ans.v[1]=1;ans.l=1; 49 for(int i=1;i<=cnt;++i) 50 while(num[i]--)ans=ans*p[i]; 51 ans.print(); 52 return 0; 53 }
转载于:https://www.cnblogs.com/nbwzyzngyl/p/8361075.html
BZOJ2822 [AHOI2012]树屋阶梯相关推荐
- bzoj2822 [AHOI2012]树屋阶梯 dp
容易得到一个结论:每一个块必须卡住一个角,不然一定是无法覆盖全的(一个矩形只能覆盖一个角) 所以就枚举多出来的矩形覆盖哪个角,剩下的方案数用以前算过的,类似插数dp 注:这个题竟然丧病的卡常,高精用的 ...
- BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
2822: [AHOI2012]树屋阶梯 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 779 Solved: 453 [Submit][Statu ...
- P2532 [AHOI2012]树屋阶梯($Catalan$数高精度)
P2532 [AHOI2012]树屋阶梯(Catalan数&高精度) 题目传送门 思路:卡特兰数的变形,可根据包含直角点的矩形覆盖的阶梯点的位置进行加法原理,然后对每个情况进行乘法原理,可以得 ...
- P2532 [AHOI2012]树屋阶梯
P2532 [AHOI2012]树屋阶梯 提交4.66k 通过1.79k 时间限制1.00s 内存限制125.00MB 提交答案加入题单 复制题目 题目提供者clearman 难度提高+/省选- 历史 ...
- [Catalan数三连]网格有趣的数列树屋阶梯
如何让孩子爱上打表 Catalan数 Catalan数是组合数学中一个常出现在各种计数问题中的数列. 以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名. 先丢个公式(设第n项为$ ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- [杂谈] 14. Catalan卡特兰数
文章目录 1. 前言 2. 卡特兰数递推公式推导 3. 卡特兰数性质 4. 卡特兰数简单实例 实例1:进出栈问题 实例2:进出栈问题变种 实例三:电影购票问题 实例四:上班路径问题 实例五:乘法结合律 ...
- 卡特兰数(简单说说)
参考题解: [算法]震惊!!!史上最详细的卡特兰数浅谈!!! 卡特兰数(好像很有用的说) 介绍 卡特兰数是组合数学中一种著名数列,其前几项为: 1, 2, 5, 14, 42, 132, 429, 1 ...
最新文章
- 别忘了,明天是BCH的压力测试日
- 由laravel 5.5无法获取url中的参数引发的apache的.htaccess文件问题
- hive 分区_代码 | Spark读取mongoDB数据写入Hive普通表和分区表
- 车载电脑中控软件_ 车载手机支架怎么选?教你3招,开车的时候方便快捷
- java线程死锁_Java并发:隐藏线程死锁
- shell 字符串分割
- MaxCompute非事务表如何更新数据
- python实现目标检测_由浅入深:教你如何构建一个行人目标检测模型(Python)
- Spring框架第一天
- python实现列表的排列和组合
- 少儿编程python学啥-少儿编程学什么?少儿编程课程体系介绍
- 华为员工离职心声:菊厂15年退休,感恩公司,让我实现了财务自由!
- 抓取日志的小工具(命令)Adb logcat
- windows 运行 自定义 命令 的实现
- js简易版歌单播放,可切换下一首
- 机器学习—决策树模型
- 微信页面打开链接,引导在其他浏览器打开的引导页
- 联想小新增加固态硬盘后安装不了系统_固态硬盘装双系统不成功,装第二个系统时提示 windows没法完成安装,安装将在重启计算机后继续。...
- 网上关于'好人卡'的定义
- BeanCurrentlyInCreationException异常分析及解决