NTT
fyc_kabuto
一个蒟蒻程序员
展开
-
3456: 城市规划
容斥+多项式求逆原创 2018-02-27 09:00:58 · 159 阅读 · 0 评论 -
bzoj 4555: [Tjoi2016&Heoi2016]求和
多项式求逆+斯特林数原创 2018-02-27 09:16:12 · 152 阅读 · 0 评论 -
fft的迭代实现与ntt模板
前言:重看了下fft递归实现,好像不难理解,以前真的太naive。然后被迭代版的各种吊打,赶紧补下,顺便学下ntt。 哈尔滨真的冷,让我这个GD蒟蒻怎么码代码FFT:先贴链接:快速傅里叶变换FFT的迭代实现 这篇博客讲的很清楚了,本质上是一样的,就是将底层排好序后,自底向上一层层求。 至于为什么这么排:显然代码留坑。#include<cstdio>#in...原创 2018-02-16 20:57:20 · 606 阅读 · 0 评论 -
FFT/NTT部分题表
前言:因为懒,所以 写成题表模式。bzoj 4836假如只有一个操作,那么直接做卷积就好了,减法可以将下面的哪个数组翻转过来。 现在要求只能与大的数卷,那么就分治+fft就好了。 code:#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>...原创 2018-03-01 08:20:23 · 607 阅读 · 0 评论 -
AtCoder Grand Contest 005 F - Many Easy Problems
题意:设f(k)f(k)f(k)表示在树上任选k个点所组成的最小联通块大小的和。 求出所有f(k)f(k)f(k)题解:这种题一般都单独考虑每个点的贡献。 单点贡献显然就是Ckn−∑y∈son[x]Cksize[y]Cnk−∑y∈son[x]Csize[y]kC_n^k-\sum_{y \in son[x]}C_{size[y]}^k 所以ans[k]=∑nx=1Ckn−∑y...原创 2018-04-16 10:59:19 · 159 阅读 · 0 评论 -
codeforces:G. PolandBall and Many Other Balls
题意:从n个连续的球中选出m组,每组也要连续且最多有两个,问方案数。题解:暴力dp很好写:f[i][j]=f[i−1][j]+f[i−1][j−1]+f[i−2][j−1]f[i][j]=f[i−1][j]+f[i−1][j−1]+f[i−2][j−1]f[i][j]=f[i-1][j]+f[i-1][j-1]+f[i-2][j-1] 因为n很大,m很小,所以可以考虑倍增+卷积。 ...原创 2018-04-12 15:41:41 · 328 阅读 · 1 评论 -
Codeforces 960G Bandit Blues 第一类斯特林数+分治FFT
懒人模式:orz beginend code:#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#define LL long longusing namespace std;const LL p=998...原创 2018-04-21 10:55:20 · 389 阅读 · 0 评论 -
loj2409. 「THUPC 2017」小 L 的计算题 / Sum
题意:fk=∑i=1naikf_k=\sum_{i=1}^n a_i^kfk=i=1∑naik求出f1f_1f1~fnf_nfn题解:考虑构造fff的生成函数FFF设A(x)=∑jaijxjA(x)=\sum_j a_i^jx^jA(x)=∑jaijxj则F(x)=∑inA(i)F(x)=\sum_i^n A(i)F(x)=∑inA(i)FFF的系数即是∑i=1nai...原创 2019-02-22 09:40:05 · 725 阅读 · 0 评论 -
loj6268. 分拆数
题意:求111~nnn的分拆数。题解:考虑其生成函数为F(x)=∑if(i)xiF(x)=\sum_if(i)x^iF(x)=∑if(i)xi那么F(x)=∏i=111−xiF(x)=\prod_{i=1}\frac1{1-x^i}F(x)=∏i=11−xi1两边取对数得lnF(x)=∑i=1ln11−xi\ln F(x)=\sum_{i=1}\ln\frac1{1-x^i}...原创 2019-02-22 10:11:55 · 415 阅读 · 0 评论