hdoj-4828-Grids
来源:互联网 发布:cors网络账号怎么获取 编辑:程序博客网 时间:2024/06/16 06:23
Description
度度熊最近很喜欢玩游戏。这一天他在纸上画了一个2行N列的长方形格子。他想把1到2N这些数依次放进去,但是为了使格子看起来优美,他想找到使每行每列都递增的方案。不过画了很久,他发现方案数实在是太多了。度度熊想知道,有多少种放数字的方法能满足上面的条件?
Input
第一行为数据组数T(1<=T<=100000)。
然后T行,每行为一个数N(1<=N<=1000000)表示长方形的大小。
然后T行,每行为一个数N(1<=N<=1000000)表示长方形的大小。
Output
对于每组数据,输出符合题意的方案数。由于数字可能非常大,你只需要把最后的结果对1000000007取模即可。
Sample Input
213
Sample Output
Case #1:1Case #2:5
Hint
对于第二组样例,共5种方案,具体方案为:
卡特兰树,然后求逆元一下就OK
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int mod=1000000007;const int maxn=1000005;ll f[maxn];ll pow1(ll n,ll m){ ll ans = 1; while(m) { if(m & 1) ans = ans * n % mod; m = m >> 1; n = n * n % mod; } return ans;}int main(){ f[0] = 1; f[1] = 1; for(int i = 2; i <= 1000000; i++) { f[i] = ((f[i-1]*(4*i-2)%mod)*pow1(i+1 ,mod-2)) % mod; } int t; scanf("%d",&t); int Cas=1; while(t--) { int n; scanf("%d",&n); printf("Case #%d:\n",Cas++); printf("%I64d\n",f[n]); } return 0;}
0 0
- hdoj-4828-Grids
- Hdoj 4828 Grids
- hdu 4828 - Grids
- Hdu 4828 Grids【卡特兰数】
- HDU 4828 Grids(卡特兰数)
- [hdu 4828]Grids 数论(扩展欧几里得求逆元)
- hdu 4828 Grids(拓展欧几里得+卡特兰数)
- 杭电4828 Grids(卡特兰数+求逆元)
- HDU 4828 Grids(卡特兰数+乘法逆元)
- YUI--grids
- Fluid Grids
- Many Grids
- 2014百度之星初赛第一轮 HDU 4828 - Grids (卡特兰数 逆元)
- PROGRAMMING GRIDS 木棍正方形
- ExtJS 4 Grids 详解
- NEFU 653 Grids(water)
- ExtJS 4 Grids 详解
- Metrics and Grids
- Spring探究(1)——功能特性
- Erasure Code
- .net 视频转换
- Eclipse安装maven插件报错
- GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)
- hdoj-4828-Grids
- MySQL Memory 存储引擎浅析
- 微信 Android 热补丁实践演进之路
- jquery控制背景音乐开关与自动播放提示音的方法
- 嵌入式linux-利用mkimage 把zImage转换为uImage的方法
- Redis笔记四之Redis事务
- 数字前后加上符号“*”----c代码
- android框架揭秘之Java服务学习笔记
- 河南多校大一训练赛(容斥原理+数论+DP+01背包)