[BZOJ3513][MUTC2013]idiots(FFT+组合数学)

题目描述传送门题目大意:给定n个长度分别为ai的木棒,问随机选择3个木棒能够拼成三角形的概率。题解这道题要根据三角形的两边之和大于第三边来做,其实判定的条件就是随机选出来的三条边中较小的两条之和大于第三条边 首先容斥一下,用总的方案数减去不合法的方案数 令F(i)表示两条边和为i的方案数,a(...

2017-05-04 15:35:10

阅读数 735

评论数 4

[BZOJ3456]城市规划(组合数学+容斥原理+NTT+多项式求逆)

题目描述传送门题目大意:求n个点的无重边无自环无向连通图数目。题解这题好强啊。。设f(i)f(i)表示与1连通的连通块大小为i(包括1)的连通图数目 如果要是将i个点之间的2i(i−1)22^{i(i-1)\over 2}条边随便连的话会有一些不合法的方案,即有一些点和i不连通,所以这里要容斥一...

2017-04-26 17:48:20

阅读数 806

评论数 0

[BZOJ2259]异化多肽(生成函数+NTT+多项式求逆)

题目描述传送门题目大意:有M种氨基酸,每个的相对分子质量为Ci,问组合出的肽链水解之后有多少个相对分子质量和为N(排列)。题解选的氨基酸的数量不限。 一个比较显然的思路是对于每一种氨基酸搞一个生成函数出来,也就是x^(Ci的倍数)项的系数为1,然后把M个卷起来就行了 但是这样复杂度是O(MNl...

2017-04-26 17:30:42

阅读数 800

评论数 0

[BZOJ3771]Triple(生成函数+FFT+容斥原理)

题目描述传送门题目大意:给出n个互不相同的数,问从中选出1/2/3个数,每一个可以组合出的和有多少种方案。题解首先1个的直接统计 将所有的数搞成一个生成函数,做一遍卷积搞出来选2个的答案 但是2个的存在选了两个相同的,或者选了一个排列,直接除2即可 然后生成函数卷两次统计选3个的答案 这里...

2017-04-25 23:23:30

阅读数 669

评论数 0

[BZOJ4555][Tjoi2016&Heoi2016]求和(NTT)

题目描述传送门题目大意: 求f(n)=∑ni=0∑ij=0S(i,j)×2j×(j!)f(n)=\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j\times (j!) 其中S(i,j)S(i,j)为第二类斯特林数,递推公式为: S(i,j)=j×S(i−1,j...

2017-04-24 21:23:00

阅读数 826

评论数 0

[BZOJ3160]万径人踪灭(FFT+manacher)

题目描述传送门题目大意:在一个只含ab的字符串中选取一个子序列,使得:1、字符和下标都关于一个中心对称2、不能是连续的一段。求方案数。题解这题我的方法好蠢啊→_→ 首先容斥一下,答案=所有子序列的方案数-回文子串的数量 由于回文的连续子序列一定满足下标对称,所以可以直接用manacher求出回...

2017-04-24 14:37:35

阅读数 589

评论数 0

[BZOJ4259]残缺的字符串(FFT)

题目描述传送门题目大意:给出一个模板串和一个母串,问模板串在母串中出现过几次。带通配符。题解这道题和两个串那道题是差不多的。。 令F(i)表示将模板串的最后一个怼到母串的第i个是否能匹配,0表示能匹配,非0表示不能匹配。然后设两个函数f(i)=(t(i)=‘ * ’)?0:t(i),g(i)=(...

2017-04-24 10:40:06

阅读数 645

评论数 0

[BZOJ3992][SDOI2015]序列统计(dp+NTT+快速幂)

题目描述传送门题解首先考虑,如果题目让求的是和的方案数,怎么dp以及优化 令F(i,j)F(i,j)表示一共选了i个数,和在模m意义下为j的方案数 那么F(i,j)=∑k=1sF(i−1,j−Sk)F(i,j)=\sum\limits_{k=1}^sF(i-1,j-S_k) 这个dp可以写成...

2017-03-10 11:04:10

阅读数 559

评论数 0

[COGS2287][HZOI 2015]疯狂的机器人(NTT+组合数学)

题目描述传送门题解本来是想找一道题想一想dp到底是怎么用FFT优化的,然而写完了发现怎么和dp没啥关系呢 也可能是我太弱根本没看出来dp 不过确实是一道好题!在hxy神犇的一些提示下做出来…令g(i)g(i)表示只能上下走,不能左右走,不能不走,走i步最后回到原点的方案数 首先可以发现当i为...

2017-03-09 21:50:01

阅读数 621

评论数 0

[BZOJ4503]两个串(FFT)

题目描述传送门题解受到上一道题的影响,这题想了很久… 因为这题的思路和上题真的是相似又互异的 令F(i)F(i)表示把小串结尾怼到大串的第i个字符上是否能匹配,0表示能匹配,非0表示不能匹配 对于大串,f(i)=s(i)f(i)=s(i),对于小串,g(i)=(s(i)=′?′)?0:s(i...

2017-03-09 18:34:36

阅读数 373

评论数 0

[Codeforces528D]Fuzzy Search(FFT)

题目描述传送门题解将A,G,C,T分开考虑,统计4遍,答案相加 令F(i)F(i)表示将小串的最后一个怼到大串的第i位最多能匹配多少个 令f(i)f(i)表示大串中,第i个字符是否能匹配当前字符0/1 令g(i)g(i)表示小串中,第i个字符是否是当前字符0/1 将小串反置,然后F(i)F...

2017-03-09 17:00:56

阅读数 467

评论数 0

[BZOJ3527][Zjoi2014]力(FFT)

题目描述 传送门 题解 将式子化一下可以得出E(i)=∑j=0iqj(i−j)2−∑j=inqj(i−j)2E(i)=\sum\limits_{j=0}^i{q_j\over(i-j)^2}-\sum\limits_{j=i}^n{q_j\over(i-j)^2} 只考虑第一个式子,令f(...

2017-03-09 16:53:34

阅读数 495

评论数 0

[BZOJ2194]快速傅立叶之二(FFT)

题目描述传送门题解度娘 卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是序列x(n)和h(n),则卷积的结果y(n)=∑i=−∞+∞x(i)h(n−i)=x(n)∗h(n)y(n)=\sum\limits_{i=-\infty}^{+\infty}x(i)h(n-i)=x(n)*h(n...

2017-03-09 11:34:06

阅读数 495

评论数 0

[BZOJ2179]FFT快速傅立叶(FFT)

题目描述传送门题解将乘法的每一位看成是多项式的系数 实际上就是两个多项式相乘 直接FFT 处理进位代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g...

2017-03-09 11:24:45

阅读数 256

评论数 0

[UOJ#34]多项式乘法(FFT)

题目描述传送门题解FFT模板题代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namesp...

2017-03-09 11:21:58

阅读数 302

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭