Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8679    Accepted Submission(s):
3525

Problem Description
医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶均是成对出现的。
现在有一长度为N的字符串,满足一下条件:
(1)
字符串仅由A,B,C,D四个字母组成;
(2) A出现偶数次(也可以不出现);
(3)
C出现偶数次(也可以不出现);
计算满足条件的字符串个数.
当N=2时,所有满足条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
由于这个数据肯能非常庞大,你只要给出最后两位数字即可.
 
Input
每组输入的第一行是一个整数T,表示测试实例的个数,下面是T行数据,每行一个整数N(1<=N<2^64),当T=0时结束.
 
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

 
Author
Rabbit
 
Source
 
Recommend
lcy   |   We have carefully selected several similar
problems for you:  2067 2064 2068 2063 2066 
 
 
生成函数
对于$A,C$和$B,D$分别构造多项式
因为是排列问题,所以用指数型生成函数
下图为mjt大佬的课件,有一部分写错了,大家自己代入推推就好
最后$x^n$的系数就是答案

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

HDU 2065 "红色病毒"问题(生成函数)的更多相关文章

  1. HDU 2065 "红色病毒"问题 ——快速幂 生成函数

    $A(x)=1+x^2/2!+x^4/4!...$ $A(x)=1+x^1/1!+x^2/2!...$ 然后把生成函数弄出来. 暴力手算. 发现结论. 直接是$4^{n-1}+2^{n-1}$ 然后快 ...

  2. HDU 2065 “红色病毒”问题 --指数型母函数

    这种有限制的类棋盘着色问题一般可以用指数型母函数来解决,设Hn表示这样的着色数,首先H0=1,则Hn等于四个字母的(A,B,C,D)的多重集合的n排列数,其中每个字母的重数是无穷,且要求A,C出现的次 ...

  3. hdu 2065 "红色病毒"问题

    指数型母函数的应用 求A B C D 在规定条件下n个元素的排列个数,先写出指数型母函数 G(X) = ( 1 + x + x^2/2! + x^3/3! +... )^2 * ( 1+ x^2/2! ...

  4. hdu 2065 "红色病毒"问题(快速幂求模)

    n=1  --> ans = 2 = 1*2 = 2^0(2^0+1) n=2  -->  ans = 6 = 2*3 = 2^1(2^1+1) n=3  -->  ans = 20 ...

  5. 【HDOJ】2065 "红色病毒"问题

    刚开始看这道题目的时候,完全没看出来是递推.看了网上大牛的分析.立刻就明白了.其实无论字符串长度为多少,都可以将该长度下的组合分成四种情况S1(A偶数C偶数).S2(A偶数C奇数).S3(A奇数C偶数 ...

  6. 【指数型母函数+非递归快速幂】【HDU2065】"红色病毒"问题

    大一上学完数分上后终于可以搞懂指数型母函数了.. 需要一点关于泰勒级数的高数知识 题目在此: "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Oth ...

  7. HDUOJ-----2065"红色病毒"问题

    "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. hdu2065"红色病毒"问题(指数母函数+快速幂取模)

    "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. HDU2065"红色病毒"问题【指数型母函数】

    Problem Description 医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其 ...

随机推荐

  1. Codeforces Round #411 A. Fake NP

    A. Fake NP time limit per test   1 second memory limit per test   256 megabytes   Tavak and Seyyed a ...

  2. Android 友盟统计的集成与使用(包含多渠道打包配置)

    前言 app上线后,一般公司都希望跟踪app在市场上的使用情况.包括新增用户.活跃用户.渠道信息.错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商品.这些都可以通过集成友盟 ...

  3. Python爬虫编程常见问题解决方法

    Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...

  4. Porting QML Applications to Qt 5

    When porting QML-related code from Qt 4.8 to Qt 5, application developers should be aware that the Q ...

  5. 3.获取git仓库

    有两种取得 Git 项目仓库的方法. 第一种是在现有项目或目录下导入所有文件到 Git 中: 第二种是从一个服务器克隆一个现有的 Git 仓库. 在现有目录中初始化仓库 如果你打算使用 Git 来对现 ...

  6. 微信小程序——代码构成

    通过上一章讲解,我们了解到如何初始化一个小程序项目,这里是官方给到demo地址,通过demo来看教程更方便于我们理解项目架构. 由四种文件构成: .json 后缀的 JSON 配置文件 .wxml 后 ...

  7. ldconfig: /usr/lib/libpython2.6.so.1.0-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

    https://bugzilla.redhat.com/show_bug.cgi?id=562980

  8. 常用的邮箱服务器(SMTP、POP3)地址、端口

    sina.com: POP3 服务器地址:pop3.sina.com.cn(端口:110) SMTP 服务器地址:smtp.sina.com.cn(端口:25) sinaVIP: POP3 服务器:p ...

  9. myeclipse 复制项目不包含svn或CVS目录

    目前只记录到2个方法:(SVN和CVS都适用) 方法一:导出法 1.右击需要cp的目录,点击export,General/File System 2.next 3.确认你选择的目录,并勾选:Creat ...

  10. February 3 2017 Week 5 Friday

    Laughter is an instant vacation. 笑一笑,身心轻松宛如度了个短假. Always present a smile on your face, even there's ...