新民主主义革命病毒,生成函数

时间:2019-09-24 18:11来源: 操作系统
永利皇宫463娱乐网址,Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K(Java/Others) Total Submission: 8679Accepted Submission: 3525 "浅绿病毒"难题 Problem Description 文学界发掘的新病毒因其蔓延速度

永利皇宫463娱乐网址,Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)
Total Submission: 8679Accepted Submission: 3525

"浅绿病毒"难题
Problem Description
文学界发掘的新病毒因其蔓延速度和Internet上传播的"深灰蓝病毒"工力悉敌,被堪当"白色病毒",经济钻商讨开采,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶均是成对出现的。
未来有一尺寸为N的字符串,满足一下尺码:
字符串仅由A,B,C,D多个假名组成;
A出现偶多次;
C出现偶数12次;
计算满足条件的字符串个数.
当N=2时,全体满意条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
出于这几个数据肯能特别变得庞大,你假使付给最终两位数字就可以.

Problem Description管法学界开采的新病毒因其蔓延速度和Internet上盛传的"灰黄病毒"春兰秋菊,被称之为"深紫病毒",经济钻探究开采,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶均是成对出现的。
当今有一长短为N的字符串,满足一下标准:
字符串仅由A,B,C,D八个假名组成;
A出现偶数十次;
C出现偶多次;
计算满足条件的字符串个数.
当N=2时,全部满足条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
鉴于那几个数目肯能非常巨大,你一旦付给最后两位数字就能够.Input每组输入的率先行是四个莫西干发型T,表示测验实例的个数,上面是T行数据,每行三个整数N(1<=N<2^64),当T=0时结束.Output对于每一种测验实例,输出字符串个数的结尾两位,每组输出后跟二个空行.萨姆ple Input414二〇一三3142460Sample OutputCase 1: 2Case 2: 72Case 3: 32Case 4: 0Case 1: 56Case 2: 72Case 3: 56AuthorRabbitSourceRPG专场练习赛 Recommendlcy|We have carefully selected several similar problems for you:20672064206820632066生成函数对于$A,C$和$B,D$分别协会多项式因为是排列难点,所以用指数型生成函数下图为mjt大佬的课件,有一点写错了,我们自身代入推推就好最终$x^n$的周全正是答案永利皇宫463娱乐网址 1

Input
每组输入的首先行是贰个子弹头T,表示测验实例的个数,上边是T行数据,每行三个整数N(1<=N<2^64),当T=0时截至.

// luogu-judger-enable-o2#include<cstdio>#include<cstring>#include<algorithm>#define int long long const int MAXN = (1 << 21) + 10, mod = 100; inline int read() {     char c = getchar(); int x = 0, f = 1;    while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}    while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();    return x * f;}int fastpow(int a, int p) {    int base = 1;    while {        if(p & 1) base = (base * a) % mod;        a =  % mod;        p >>= 1;    }    return base % mod;}main() {    #ifdef WIN32    freopen("a.in","r",stdin);    #endif     int QwQ = 0;    while(scanf("%d", &QwQ) && QwQ != 0) {        int now = 0;        for(int i = 1; i <= QwQ; i++) {            int x = read();            printf("Case %I64d: %I64dn", ++now, (fastpow(4, x - 1) + fastpow(2, x - 1)) % mod);        }        puts("");    }}

Output
对于各类测验实例,输出字符串个数的末梢两位,每组输出后跟三个空行.

Sample Input
4
1
4
20
11
3
14
24
6
0

Sample Output
Case 1: 2
Case 2: 72
Case 3: 32
Case 4: 0

Case 1: 56
Case 2: 72
Case 3: 56

编辑: 操作系统 本文来源:新民主主义革命病毒,生成函数

关键词: