首页 > 其他 > 详细

【UOJ 574】桂林的文件

时间:2019-09-06 22:12:16      阅读:111      评论:0      收藏:0      [点我收藏+]

【题目描述】:

桂林有N个不同的文件,现在他要创建N-1个文件夹(相同)来保存这些文件,每个文件夹内有且只有两个项目,每个项目可以是一个文件或者一个文件夹,问他有多少种不同的存储方式。

【输入描述】:

第一行一个正整数T,表示数据组数。

接下来T行每行一个正整数N。

【输出描述】:

共T行,在模19260817的意义下桂林的存储方式总数。

【样例输入】:

2
3
5

【样例输出】:

3
105

【时间限制、数据范围及描述】:

时间:1s 空间:256M

30%的数据:2≤N≤20;

70%的数据:2≤N≤1000;

100%的数据:T≤100, 2≤N≤10^6

题解:emm用排列组合的一些知识推导一下就出来啦。

           类似于卡特兰数。

#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
typedef long long ll;
using namespace std;
const int mod=19260817;
ll  t,n,dp[1000005];

void init(){
    dp[1]=0; dp[2]=1;
    for(int i=1;i<=1000001;i++){
        dp[i+2]=dp[i+1]*(i*2+1);
        dp[i+2]%=mod;
    }
}

int main(){
    cin>>t;
    init();
    while(t--){
        cin>>n;
        printf("%lld\n",dp[n]);
    }
    return 0;
}

 

【UOJ 574】桂林的文件

原文:https://www.cnblogs.com/wuhu-JJJ/p/11478215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!