随笔分类 - 多项式 - FFT/NTT
摘要:挺好的一道数数题. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull unsigned
阅读全文
摘要:看了标签:贝尔数? 这不就是指数型生成函数模板吗..... 考虑有指数型生成函数 $F(x)$,将 $F(x)$ 分散成若干个集合的生成函数就是 $G(x)=e^{F(x)}$,来一个多项式 exp 即可. code: #include <cmath> #include <cstring> #inc
阅读全文
摘要:好神仙的多项式啊! 需要用到:prufer序列,生成函数,多项式求逆,多项式取 ln,多项式 exp..... code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <str
阅读全文
摘要:十分有趣的多项式推式子题,多多积累. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull
阅读全文
摘要:标签:生成函数,多项式exp 有 $n$ 个点,每个点有一个度数 $v[i]$,代表如果选择这个点就必须满足这个点与 $v[i]$ 条边相连. 求:有多少种选法,使得所选集合中的点能构成一棵树. 如果 $m$ 个点能生成一颗树,那么一定满足 $\sum v_{i}=2\times (m-1)$ 这是
阅读全文
摘要:标签:指数型生成函数,多项式求逆 感觉这个生成函数还是蛮有难度的. 每一层的指数型数的生成函数 $F(x)=\sum_{i=1}^{\infty} \frac{1}{i!}x^i$ 那么所有层的生成函数就是 $G(x)=\sum_{i=1}^{\infty} F^i(x)$ 我们注意到因为这道题划分
阅读全文
摘要:标签:生成函数,多项式 exp 题意:一共有 $n$ 个物品,每件物品体积为 $v_{i}$,数量为 $10^5$,求:装满一个容量为 $m$ 的背包有多少种不同方案. 比较友好的生成函数,并不是很难推导(似乎有些套路QAQ) 对于每一件物品列生成函数 $F_{i}(x)=\sum_{i=0}^{\
阅读全文
摘要:直接粘贴一个多项式全家桶吧. 公式: 求多项式 $F(x)=e^{A(x)}(\mod x^n)$ 设 $F_{0}(x)=e^{A(x)} (\mod x^\frac{n}{2})$ 则有 $F(x)=F_{0}(x)(1-\ln F_{0}(x)+A(x))(\mod x^n)$ code: #
阅读全文
摘要:根据期望的线性性,我们算出每个点期望被计算次数,然后进行累加. 考虑点 $x$ 对点 $y$ 产生了贡献,那么说明 $(x,y)$ 之间的点中 $x$ 是第一个被删除的. 这个期望就是 $\frac{1}{dis(x,y)+1}$,所以我们只需求 $\sum_{i=1}^{n}\sum_{j=1}^
阅读全文
摘要:多项式乘法 多项式求逆 多项式除法/取模 多项式求导/积分 多项式取 ln 多项式 exp 多项式快速幂 多项式多点求值 多项式快速插值 code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio>
阅读全文
摘要:code: #include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define setIO(s) freopen(s".in","r",stdin) // , freopen(s".out","w"
阅读全文
摘要:卡常严重,可有采用如下优化方案: 1.预处理单位根 2.少取几次模 3.复制数组时用 memcpy 4.进行多项式乘法项数少的时候直接暴力乘 5.进行多项式多点求值时如果项数小于500的话直接秦九昭展开 code: #include <bits/stdc++.h> #define ll long l
阅读全文
摘要:三模数 NTT,感觉不是很难写 $?$ 代码借鉴的 https://www.cnblogs.com/Mychael/p/9297652.html code: #include <bits/stdc++.h> #define SIZE 400005 #define ll long long #defi
阅读全文
摘要:生成函数这个东西太好用了~ code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const int mod=998244
阅读全文
摘要:总结啥的就放到多项式入门里了,好多细节需要注意~ code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const int
阅读全文
摘要:定义有向图的价值为图中每一个点的度数的 $k$ 次方之和. 求:对于 $n$ 个点的无向图所有可能情况的图的价值之和. 遇到这种题,八成是每个点单独算贡献,然后累加起来. 我们可以枚举一个点的度数是多少,然后试着去算该情况下的贡献,即 $\sum_{i=0}^{n 1}\binom{n 1}{i}i
阅读全文
摘要:求 $\sum_{i=0}^{k}\binom{m}{i}\binom{n m}{k i}i^L$ $(1\leqslant n,m\leqslant 2\times 10^7,1\leqslant L\leqslant 2\times 10^5)$ 这个式子比较简洁,然后也没啥可推的,所以我们将
阅读全文
摘要:求 $\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)\times 2^j\times (j!)$ 不妨将式子化为 $\sum_{i=0}^{n}\sum_{j=0}^{n}S(i,j)\times 2^j\times (j!)$ (反正如果 $j i$ 的话 $S(i,j)=0
阅读全文
摘要:code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n; const ll mod=167772161,G=3,
阅读全文

浙公网安备 33010602011771号