牛客小白月赛1 I あなたの蛙が帰っています 【卡特兰数】
链接:https://www.nowcoder.com/acm/contest/85/I
题目描述
为了让大家不被卡题意,这里给出一句话题意:已知一个没有深度限制的栈的入栈序列为 ,且 不能第一个出栈。求合法的出栈序列个数。答案对 取模。
输入描述:
第一行一个数
,表示蛙蛙有
组询问。 接下去
行,每行一个正整数
, 表示目的地的个数(入栈元素个数)。
输出描述:
输出共
行,每行一个答案,格式形如
,具体可见样例。 答案可能较大,请对
取模后输出。
输入
复制
3 3 9 24
输出
复制
Case #1: 3 Case #2: 3432 Case #3: 508887030
说明
对于样例中的第一个询问,设三个目的地为
,
,
,其中
是第一个目的地,所以不能第一个访问。则有三种合法访问序列: ·
·
·
备注:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <algorithm> 4 #include <time.h> 5 #include <string.h> 6 #include <math.h> 7 #include <vector> 8 #include <iostream> 9 #include <deque> 10 #include <set> 11 #include <bitset> 12 #include <queue> 13 #include <map> 14 using namespace std; 15 typedef long long ll; 16 const int N = 2e5+10; 17 const ll mod = 998244353; 18 ll fac[N]; 19 20 void extgcd(ll a,ll b,ll& d,ll& x,ll& y){ 21 if(!b){ d=a; x=1; y=0;} 22 else{ extgcd(b,a%b,d,y,x); y-=x*(a/b); } 23 } 24 ll inv(ll a,ll n){ 25 ll d,x,y; 26 extgcd(a,n,d,x,y); 27 return d==1?(x+n)%n:-1; 28 } 29 30 void init() { 31 fac[0] = fac[1] = 1; 32 for(int i = 2; i < N; ++i) { 33 fac[i] = fac[i-1]*i%mod; 34 } 35 } 36 ll cat(ll n) { 37 return fac[2*n]*inv(fac[n+1]*fac[n],mod)%mod; 38 } 39 int main(int argc, char *argv[]) { 40 init(); 41 int T; 42 int ca = 1; 43 scanf("%d", &T); 44 while(T--) { 45 ll n; 46 cin >> n; 47 ll ans = (cat(n)-cat(n-1))%mod; 48 if(ans < 0) ans += mod; 49 printf("Case #%d: ", ca++); 50 cout << ans << '\n'; 51 } 52 }
转载于:https://www.cnblogs.com/TianyuSu/p/9391376.html
牛客小白月赛1 I あなたの蛙が帰っています 【卡特兰数】相关推荐
- 牛客小白月赛1 I.あなたの蛙が帰っています
牛客小白月赛1 I.あなたの蛙が帰っています 题目链接 题目描述 あなたの蛙が帰っています! 蛙蛙完成了一趟旅行,回家啦!但它还是没有去它心中非常想去的几个地方.总共有 N 个它 想去的目的地.蛙蛙下 ...
- 牛客小白月赛1 G .あなたの蛙は旅⽴っています
牛客小白月赛1 G .あなたの蛙は旅⽴っています 题目链接 题目描述 あなたの蛙は旅立っています! 你的蛙正在考虑它应该按怎样的路线去旅行.这些景点可以抽象为 N N N 个镶嵌着的六边形.每个景点 ...
- 牛客小白月赛16 小石的签到题(博弈)
牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...
- F.孤独(牛客小白月赛39)
F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...
- 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)
牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...
- 牛客小白月赛65个人题解A-E
1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...
- 牛客小白月赛24 J.建设道路
牛客小白月赛24 J.建设道路 题目链接 题目描述 牛牛国有 nnn 个城市,编号为 1-n,第 iii 个城市有一个价值 aia_iai ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游 ...
- 牛客小白月赛4 D.郊区春游
牛客小白月赛4 D.郊区春游 题目链接 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有 nnn 个郊区和 mmm 条无向道路,第 iii 条道路连接郊区 AiA_iAi 和 BiB_i ...
- 牛客小白月赛25 C.白魔法师
牛客小白月赛25 C.白魔法师 题目链接 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 个点,每个点被染成了黑色或白色. 你可以释放一次魔法,将某个点染成白色.(该点不一定是黑色点,也可以 ...
最新文章
- Dumpzilla工具第615行bug的解决办法
- java线程池【转】
- zabbix监控mysql数据库性能实现
- align=absmiddle 是什么意思
- 解决goldengate复制进程应用缓慢一例
- 爱快助力元气森林随时随地高效办公
- r语言实现sem_统计基础:【18】使用Excel和R语言来实现抽样
- 可视化界面_uniapp通过 HBuilderX 可视化界面构建项目
- 机器学习之KNN算法学习笔记
- Python风格总结:遍历技巧
- python代码编辑器、最好_这十大文本/代码编辑器最好用
- 【水】弱化版魔术球问题
- 【转载】Java 对象之死
- 计算机与科学概论考试重点,计算机科学概论重点
- 据说这里有一件数据库保密检查神器……
- 谈谈面向对象分析和设计
- epoll的LT模式(水平触发)和ET模式(边沿触发)
- 儿子:特训营归来,许三多算个屁!(转)
- 怎样快速备份电脑文件?
- Excel分列时拒绝让超过15位的数字变成科学计数法
热门文章
- 转载:老师也吐血的试卷
- 微信小程序-图片等比例显示不变形
- gateway网关调用报 reactor.netty.http.client.HttpClient.chunkedTransfer(Z)Lreactor/netty/http/client/HttpC
- Efficient Dense Frontier Detection for 2D Graph SLAM Based on Occupancy Grid Submaps
- 模具设计分型面创建的10大原则
- 消息称GPhone今日发布 揭秘幕后教父(图)
- 2021面试题——微信小程序面试题
- JS--JS运行三部曲--渡一教育(视频笔记)
- 想要职场安全感?那就请你别停止成长
- ubuntu18.04突然关机重启后显卡驱动失效