"红色病毒"问题(HDU-2065)(母函数证明)

文章目录

题目

医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶均是成对出现的。
现在有一长度为N的字符串,满足一下条件:
(1) 字符串仅由A,B,C,D四个字母组成;
(2) A出现偶数次(也可以不出现);
(3) C出现偶数次(也可以不出现);
计算满足条件的字符串个数.
当N=2时,所有满足条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
由于这个数据肯能非常庞大,你只要给出最后两位数字即可.
1 ≤ n &lt; 2 64 1\le n&lt;2^{64} 1n<264

思路

母函数构造,因为是排列,所以考虑指数型母函数:
G ( x ) = ( 1 + x 1 ! + x 2 2 ! + x 3 3 ! + . . . ) 2 ∗ ( 1 + x 2 2 ! + x 4 4 ! + x 6 6 ! + . . . ) 2 G(x)=(1+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+...)^2*(1+\frac{x^2}{2!}+\frac{x^4}{4!}+\frac{x^6}{6!}+...)^2 G(x)=(1+1!x+2!x2+3!x3+...)2(1+2!x2+4!x4+6!x6+...)2
所以考虑
e x = 1 + x 1 ! + x 2 2 ! + x 3 3 ! + . . . e^x=1+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+... ex=1+1!x+2!x2+3!x3+...
e − x = 1 − x 1 ! + x 2 2 ! − x 3 3 ! + . . . e^{-x}=1-\frac{x}{1!}+\frac{x^2}{2!}-\frac{x^3}{3!}+... ex=11!x+2!x23!x3+...
e x + e − x 2 = 1 + x 2 2 ! + x 4 4 ! + x 6 6 ! + . . . \frac{e^x+e^{-x}}{2}=1+\frac{x^2}{2!}+\frac{x^4}{4!}+\frac{x^6}{6!}+... 2ex+ex=1+2!x2+4!x4+6!x6+...
所以 G ( x ) = e 2 x ∗ ( e x + e − x 2 ) 2 G(x)=e^{2x}*(\frac{e^x+e^{-x}}{2})^2 G(x)=e2x(2ex+ex)2
化简:
G ( x ) = e 2 x ∗ e 2 x + 2 + e − 2 x 4 = e 4 x + 2 ∗ e 2 x + 1 4 G(x)=e^{2x}*\frac{e^{2x}+2+e^{-2x}}{4}=\frac{e^{4x}+2*e^{2x}+1}{4} G(x)=e2x4e2x+2+e2x=4e4x+2e2x+1
展开:
G ( x ) = ( 1 + 4 ∗ x 1 ! + 16 ∗ x 2 2 ! + 64 ∗ x 3 3 ! + . . . ) + 2 ∗ ( 1 + 2 ∗ x 1 ! + 4 ∗ x 2 2 ! + 8 ∗ x 3 3 ! + . . . ) + 1 4 G(x)=\frac{(1+\frac{4*x}{1!}+\frac{16*x^2}{2!}+\frac{64*x^3}{3!}+...)+2*(1+\frac{2*x}{1!}+\frac{4*x^2}{2!}+\frac{8*x^3}{3!}+...)+1}{4} G(x)=4(1+1!4x+2!16x2+3!64x3+...)+2(1+1!2x+2!4x2+3!8x3+...)+1
所以
G ( x ) = ∑ ( 4 ∗ x ) i i ! + 2 ∗ ∑ ( 2 ∗ x ) i i ! + 1 4 G(x)=\frac{\sum \frac{(4*x)^i}{i!}+2*\sum \frac{(2*x)^i}{i!}+1}{4} G(x)=4i!(4x)i+2i!(2x)i+1
我们求第 n n n 项的系数为: 4 n n ! + 2 ∗ 2 n n ! 4 ∗ n ! \frac{ \frac{4^n}{n!}+2* \frac{2^n}{n!}}{4}*n! 4n!4n+2n!2nn!
即答案为 4 n − 1 + 2 n − 1 ( m o d 100 ) 4^{n-1}+2^{n-1}(mod\quad100) 4n1+2n1(mod100)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值