NTT
文章平均质量分 76
lahlah_
沉浸 尊重
展开
-
loj #575. 「LibreOJ NOI Round #2」不等关系
https://loj.ac/p/575 弱化版:AT4541 Permutation原创 2022-02-14 08:41:58 · 257 阅读 · 0 评论 -
luogu P4705 玩游戏
https://www.luogu.com.cn/problem/P4705 又碰到一个自己不会的套路,麻了 首先把要计算的式子写出来 ∑i=1n∑j=1m(ai+bj)k\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^ki=1∑nj=1∑m(ai+bj)k 首先二项式展开 ∑i=1n∑j=1m∑t=0k(kt)aitbjk−t\large \sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum\limits_{t=0}^k\binom{k}{t}a原创 2022-01-08 21:33:08 · 2165 阅读 · 0 评论 -
luogu P4389 付公主的背包
https://www.luogu.com.cn/problem/P4389 首先知道对于一个体积为vvv的物品,它的生成函数是11−xv\frac{1}{1-x^v}1−xv1 显然答案就是F=∏i=1n11−xviF= \prod_{i=1}^n\frac{1}{1-x^{v_i}}F=i=1∏n1−xvi1 两边取对数lnF=∑i=1nln11−xvi\ln F=\sum_{i=1}^n\ln\frac{1}{1-x^{v_i}}lnF=i=1∑nln1−xvi1 然后我们要知道ln原创 2021-08-20 13:08:37 · 175 阅读 · 0 评论 -
luogu P5644 [PKUWC2018]猎人杀
https://www.luogu.com.cn/problem/P5644 首先考虑鞭尸,即可以打死去的人,但是还要继续开枪,直到打到活人 设tot=∑wi,则pi=witot\large tot=\sum w_i,则p_i=\frac{w_i}{tot}tot=∑wi,则pi=totwi 设F(S)表示恰好集合S中的人在1之后被打死的概率F(S)表示恰好集合S中的人在1之后被打死的概率F(S)表示恰好集合S中的人在1之后被打死的概率 设G(S)表示 钦定 集合S中的人在1之后原创 2021-07-30 19:10:17 · 155 阅读 · 0 评论 -
luogu P4091 [HEOI2016/TJOI2016]求和
https://www.luogu.com.cn/problem/P4091 大力推式子 首先要知道 S(n,m)=1m!∑i=0m(−1)m−iCmiinS(n,m)=\frac{1}{m!}\sum\limits_{i=0}^m(-1)^{m-i}C_m^ii^nS(n,m)=m!1i=0∑m(−1)m−iCmiin 具体证明的话可以把mn=∑i=0mS(n,i)×i!×Cmim^n=\sum\limits_{i=0}^mS(n,i)\times i!\times C_m^imn=i=0∑mS(原创 2021-07-17 16:35:15 · 150 阅读 · 0 评论 -
二维 FFT
U107257 【模板】二维 FFT 好像是因为fft是线性变换 所以二维的可以先DFT,再DFT,乘起来,再IDFT,再IDFT 就是先按照行DFT,再按照列DFT,乘起来,然后再IDFT回去 代码硕丑无比 code: #include<bits/stdc++.h> #define N 5005 #define mod 998244353 #define G 3 #define int long long using namespace std; const double pi = acos(原创 2020-09-15 19:22:58 · 4129 阅读 · 0 评论 -
LOJ #6503. 「雅礼集训 2018 Day4」Magic
多项式复习好题 题意 有mmm种小球,每种小球有a[i]a[i]a[i]个,一共有∑a[i]=n\sum a[i] = n∑a[i]=n个小球 把nnn个小球排成一排 问恰好有kkk对相邻的小球种类相同的方案数 题解 对于64’ 直接做恰好k对的不好做,我们可以先做出至少k对的来 设f[i]表示至少i对的方案数,g[i]为恰好i对的方案数设f[i]表示至少i对的方案数,g[i]为恰好i对的方案数设...原创 2019-12-11 20:47:18 · 398 阅读 · 2 评论 -
任意模数NTT
三模数FFT 不会 本来想写三模数NTT,发现常数太TM大了,还不知道怎么优化,于是就写拆系数FFT吧 首先一个简单的方法就是直接FFT开long double 去跑,发现精度掉得十分严重(值域大于long long),于是考虑如何解决 通过学习bitset的经验我们知道要压位 考虑拆系数 假设多项式A∗B,模数是PA * B, 模数是PA∗B,模数是P 确定一个常数C一般为215=32,768或...原创 2019-10-11 14:18:26 · 278 阅读 · 0 评论 -
luogu P4841 城市规划
luogu P4841 城市规划 题目大意 求出 n 个点的简单 (无重边无自环) 无向连通图数目 题解 一眼发现这个模数有点意思 3是原根 然后可以根据题意写出一个DP 可以获得40‘的好成绩 #include<bits/stdc++.h> #define int long long #define mod 1004535809 using namespace std; int n...原创 2019-10-03 20:50:42 · 143 阅读 · 0 评论 -
多项式的各种操作
前置知识:多项式乘法FFT/NTT 文章目录多项式求逆 多项式求逆 F(x)G(x)≡1(mod xn)F(x)G(x) ≡ 1( mod \ x^n)F(x)G(x)≡1(mod xn) 已知F(x)F(x)F(x)求G(x)G(x)G(x) 解法: 假设已经求出了F(x)G′(x)≡1(modx⌈n2⌉)F(x)G'(x) ≡ 1( mod x^{\lceil {\frac...原创 2019-10-03 14:08:34 · 219 阅读 · 0 评论 -
NTT(快速数论变换)
前置知识 法法踢(fft) 如果不懂FFT的可以先了解一下 NTT的作用 先扯淡一波原创 2019-04-23 16:00:19 · 999 阅读 · 0 评论