hdu 2065 红色病毒问题
现在有一长度为N的字符串,满足一下条件:
(1) 字符串仅由A,B,C,D四个字母组成;
(2) A出现偶数次(也可以不出现);
(3) C出现偶数次(也可以不出现);
计算满足条件的字符串个数.
当N=2时,所有满足条件的字符串有如下6个:BB,BD,DB,DD,AA,CC.
由于这个数据肯能非常庞大,你只要给出最后两位数字即可.
由4种字母组成,A和C只能出现偶数次。
构造指数级生成函数:(1+x/1!+x^2/2!+x^3/3!……)^2*(1+x^2/2!+x^4/4!+x^6/6!……)^2.
前面是B和D的情况,可以任意取,但是相同字母一样,所以要除去排列数。后者是A和C的情况,只能取偶数个情况。
根据泰勒展开,e^x在x0=0点的n阶泰勒多项式为 1+x/1!+x^2/2!+x^3/3!……
而后者也可以进行调整,需要把奇数项去掉,则e^(-x)的展开式为1-x/1!+X^2/2!-X^3/3!……
所以后者可以化简为(e^x+e^(-x))/2。则原式为 (e^x)^2 * ((e^x*e^(-x))/2)^2
整理得到e^4x+2*e^2x+1。
又由上面的泰勒展开
e^4x = 1 + (4x)/1! + (4x)^2/2! + (4x)^3/3! + ... + (4x)^n/n!;
e^2x = 1 + (2x)/1! + (2x)^2/2! + (2x)^3/3! + ... + (2x)^n/n!;
对于系数为n的系数为(4^n+2*2^n)/4=4^(n-1)+2^(n-1);
#include<cstdio>
#define mod 100
__int64 pow(int a,__int64 b)//快速幂
{__int64 s=1;while(b){if(b&1)s=(s*a)%mod;a=a*a%mod;b>>=1;}return s;
}
int main()
{int i,j,t,ca;__int64 ans,n;while(scanf("%d",&t),t){ca=1;while(t--){scanf("%I64d",&n);ans=(pow(4,n-1)+pow(2,n-1))%mod;//公式printf("Case %d: %I64d\n",ca++,ans);}printf("\n");}return 0;
}
hdu 2065 红色病毒问题相关推荐
- HDU 2065 红色病毒问题(生成函数)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- HDU 2065 红色病毒 指数型母函数+泰勒公式
医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其变种的DNA的一条单链中,胞嘧啶,腺嘧啶 ...
- hdu 2065 红色病毒问题 (母函数)
点击打开链接 指数型母函数问题 引例:假设有8个元素,其中a1重复3次, a2重复2次,a3重复3次.从中取r个组合,, 这样,对于一个多重集,其中a1重复n1次,a2 重复n2次,-,ak重复nk次 ...
- hdu 2065 指数型母函数
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2065 医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被 ...
- [指数型生成函数专练]chocolate,红色病毒问题,排列组合,字串数
文章目录 T1:chocolate 题目 题解 code T2:"红色病毒"问题 题目 题解 code T3:排列组合 题目 题解 code T4:字串数 题解 code T1:c ...
- hdu 2896:病毒侵袭
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- HDU_2065 红色病毒问题(指数型生成函数)
证明:从题目可以知道 A: (1 + x2/1! + x4/2! + ....); B: (1 + x/1! + x2/2! + x3/3! + ...); C:(1 + x2/1! + x4/2! ...
- 汉诺塔问题hdu 2065——找规律
这类题目就是纸上模拟,找规律. 问题描述:在一块铜板上有三根杆,目的是将最左边杆上的盘全部移到右边的杆上,条件是不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允 ...
- 递推+矩阵快速幂 HDU 2065
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 5 using namespace ...
最新文章
- FD.io/VPP — L2TP
- 后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码
- linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理
- Intellij Idea 创建Web项目入门(一)
- 有理数取余(洛谷-P2613)
- QEMU模拟vexpress-a9 搭建Linux kernel运行环境
- mysql根据时间回退_MySQL 中的日期时间类型
- (转)C 语言高效编程的几招
- SAP License:SAP 各个模块含义
- ICCV 2021 best paper-Swin Transformer:对各类SOTA的降维打击!
- 技嘉 AORUS RTX2080显卡光线追踪技术详解
- 两个ESP8266一个作为服务器一个作为客户端实现互相通讯
- Python---项目(简易画图软件)
- mysql 灾备方案_mysql数据库灾备方案
- 快来智影:微电影的拍摄技巧
- “No input file specified “问题的处理
- python爬虫基础学习
- LCL型并网逆变器并网电流谐波的电容电压全反馈方法
- 软件项目需求管理培训
- jenkins + UIAutomation 自动化脚本运行app