Description
现在有一长度为N的字符串,满足一下条件:
(1) 字符串仅由A,B,C,D四个字母组成;
(2) A出现偶数次(也可以不出现);
(3) C出现偶数次(也可以不出现);
计算满足条件的字符串个数.
当N=2时,所有满足条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
由于这个数据肯能非常庞大,你只要给出最后两位数字即可.
Input
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: 72Case 3: 56
咋一看这道题,哎,好烦,烦在哪呢?一看就知道用指数型母函数,而且只有4项相乘,但每个多项式里边x的系数初始化后用电脑编程化简好难搞啊,不过好在只有4项,而且两两相同还,完全可以手动化简嘛
那么对于此题,B 和D 的生成函数显然是 1+x1!+x22!+...=ex (1)
而A 和C 的生成函数则是 1+x22!+x44!+...=ex+e−x2
故答案函数 F(x)=e2x(ex+e−x2)2
=e4x+2e2x+14
然后再分别把e^4x和e^2x展开把里边的x^n的系数相加,及把x=4x和x=2x带入(1) 式x^n系数分别为4^n 2^n带入 e4x+2e2x+04 得x^n的系数为4^(n-1)+2^(n-1)
所以不用化简了,直接快速幂就完事
ac代码:
e4x+2e2x+14