SARS病毒 (生成函数 + 快速幂)】的更多相关文章

链接:https://ac.nowcoder.com/acm/contest/992/A来源:牛客网 题目描述 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA 的一条单链中,胞嘧啶.腺嘧啶均是成对出现的.这虽然是一个重大发现,但还不是该病毒的最主要特征,因为这个特征实在太弱了. 为了进一步搞清楚该病毒的特征,CN 疾病控制中心和阿里巴巴集团合作,用科技的力量和程序的思维来解决这个难题.现阿里巴巴特委派你成为 CN 疾病控制中心的 SARS 高级研究员,去研…
$A(x)=1+x^2/2!+x^4/4!...$ $A(x)=1+x^1/1!+x^2/2!...$ 然后把生成函数弄出来. 暴力手算. 发现结论. 直接是$4^{n-1}+2^{n-1}$ 然后快速幂. #include <map> #include <cmath> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include…
转来的题面:首先这题显然补集转化,就是用全部方案减去不含任何质数的方案.然后怎么做呢?考虑m比较小,我们能大力把<=m的质数全都筛出来.发现n很大,要么倍增要么快速幂......发现p相当小,所以我们能在mod p的同余系下做啊. 一看到同余系下求方案数立刻想到卷积和生成函数......假设我们有一个多项式f(x),其中x^i的系数为a个数的序列mod p为i的方案数(a为我们引入的变量).同时我们有另一个多项式g(x),其中x^i的系数为b个数的序列mod p为i的方案数(b为我们引入的变量)…
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 = 4*5 = 2^2(2^2+1) n=4  -->  ans = 72 = 8*9 = 2^3(2^3+1) n=k  -->  ??? = 2^k-1*(2^k-1+1) 于是题目转化为快速幂求模问题..... #include<bits/stdc++.h> using nam…
题目 Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. 输入格式 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 输出格式 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. 输入样例 3 5 3 输出样例 33 题解 由题目中"至少一个是质数的条件…
大一上学完数分上后终于可以搞懂指数型母函数了.. 需要一点关于泰勒级数的高数知识 题目在此: "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4407    Accepted Submission(s): 1831 Problem Description 医学界发现的新病毒因其蔓延速度和Internet上传播…
题目大意 本题的满二叉树定义为:不存在只有一个儿子的节点的二叉树. 定义一棵满二叉树\(A\)包含满二叉树\(B\)当且经当\(A\)可以通过下列三种操作变成\(B\): 把一个节点的两个儿子同时删掉 把一棵子树替换成根的的左子树或右子树. 定义\(k\)连树为一棵只有恰好\(k\)个叶子的满二叉树,如果某个节点有一个右孩子,那么这个右孩子一定是一个叶子. 对于给定的\(k\)和\(n\),对于所有在\(1\)到\(n\)之间的\(i\),你需要求出所有叶子节点恰好为\(i\),且不包含\(k\…
传送门 生成函数简单题. 题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1​,a2​,...as​},所有数都在[0,m−1][0,m-1][0,m−1]之间,mmm是一个质数,求满足全部由这个集合里的组成且长度为nnn且所有数之积与xxx在模mmm意义下相同的数列总数. 思路:对a1,a2,..,as,xa_1,a_2,..,a_s,xa1​,a2​,..,as​,x全部化成gb1,gb2,...gbs,gyg^{b_1},g^{b_2},..…
这题一看就觉得是生成函数的题... 我们不妨去推下此题的生成函数,设生成函数为$F(x)$,则$[x^s]F(x)$即为答案. 根据题意,我们得到 $F(x)=x+\sum_{i∈D} F^i(x)$,其中前面单独出现的$x$可以理解为空树的情况. 如果$i$的范围很小,那么我们就可以用求根公式去解多项式方程23333. 然而考虑到$i$最大为$10^5$,根据阿贝尔定理,无根式解,所以不能用此方法. 我们对原先的式子做一个移项,得$F(x)-\sum_{i∈D} F^i(x)=x$. 我们构造…
"红色病毒"问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9329    Accepted Submission(s): 3816 Problem Description 医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,…