![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多项式及生成函数
文章平均质量分 79
多项式,生成函数
_lifehappy_
这个作者很懒,什么都没留下…
展开
-
FFT字符串匹配(解决通配符问题)
FFT字符串匹配定义字符串下标从000,开始,有文本串AAA长度为nnn,模式串BBB长度为mmm,我们可以考虑一个函数f(x,y)=A(x)−B(y)f(x, y) = A(x) - B(y)f(x,y)=A(x)−B(y)。我们设F(x)(x≥m−1)=∑i=0m−1f(x−m+1+i,i)F(x)(x \ge m - 1) = \sum\limits_{i = 0} ^{m - 1} f(x - m + 1 + i, i)F(x)(x≥m−1)=i=0∑m−1f(x−m+1+i,i),由定义显然原创 2021-08-16 20:30:25 · 735 阅读 · 0 评论 -
HDU 6340 Problem I. Delightful Formulas(伯努利数 + 积性函数反演)
Problem I. Delightful Formulas大概就是照着题解抄了一遍吧,这道题太神仙了……ai=ik,si=∑j=1iajcalc ∑i=1nsi[gcd(i,n)=1]∑d∣nμ(d)∑i=1ndsida_i = i ^ k, s_i = \sum_{j = 1} ^{i} a_j\\calc\ \sum_{i = 1} ^{n} s_i[\gcd(i, n) = 1]\\\sum_{d \mid n} \mu(d) \sum_{i = 1} ^{\frac{n}{d原创 2021-03-13 21:14:21 · 297 阅读 · 1 评论 -
P3711 仓鼠的数学题(伯努利数)
P3711 仓鼠的数学题有关伯努利数的知识可以看我的上一篇题解链接(写的超详细)。F(x)=∑k=0nSk(x)ak原本定义的Sk(x)=∑i=0xik根据伯努利数的定义Sk′(x)=∑i=0x−1ik则我们求F(x)=∑k=0nSk′(x)ak,答案即为F(x+1)考虑先求F(x)=∑k=0nak1k+1∑i=0kCk+1iBixk−i+1∑k=0nakk+1∑i=0k(k+1)!i!(k+1−i)!Bixk−i+1∑k=0nakk!∑i=0kBii!xk−i+1(k−i+1)!∑i=1n+1xii!原创 2021-03-05 21:23:57 · 315 阅读 · 0 评论 -
伯努利数(详解 + 例题 :P3711 仓鼠的数学题)
伯努利数定义Sk(n)=∑i=0n−1ikS_k(n) = \sum\limits_{i = 0} ^{n - 1} i ^ kSk(n)=i=0∑n−1ik。从二项式出发(0+1)k+1=∑i=0kCk+1i0i+0k+1⋮(n−1+1)k+1=∑i=0kCk+1i(n−1)i+(n−1)k+1把次方k+1的移项,再整体相加,得nk+1=∑i=0kCk+1iSi(n)nk+1=∑i=0k−1Ck+1iSi(n)+(k+1)Sk(n)Sk(n)=1k+1(nk+1−∑i=0k−1Ck+1iSi(n原创 2021-03-05 21:20:54 · 1632 阅读 · 3 评论 -
HDU 6061 RXD and functions(NTT)
RXD and functions首先是有一个结论,对多项式做任意多次 transformation ,其结果跟做一次 transformation Tr(f,∑i=1mai)Tr(f, \sum\limits_{i = 1} ^{m} a_i)Tr(f,i=1∑mai)的结果是一样的,所以我们约定a=−∑i=1maia = -\sum\limits_{i = 1} ^{m} a_ia=−i=1∑mai。g=f(x+a)∑i=0nci(x+a)i∑i=0n∑j=0icii!j!(i−j)!x原创 2021-03-04 16:42:56 · 220 阅读 · 1 评论 -
导数卷积 (NTT)
导数卷积有f(x)=∑i=0n−1ai×xi求g(x)=∑i=0n−1f(i)(x)f(n−i−1)(x)∑i=0n−1∑j=0n−1ai+j(i+j)!j!∑k=0n−1ak+(n−i−1)(k+(n−i−1))!k!设F(n)=an×n!我们单独求解g(x)的第m项,有gm=∑i=0n−1∑j=1d(F(i+j)∗F(n−i−1+d−j))×(1j!∗1(d−j)!)设H(n)=1n!有f(x) = \sum_{i = 0} ^{n - 1}a_i \times x ^ i\\求g(x) = \s原创 2021-03-04 16:42:15 · 902 阅读 · 1 评论 -
Wannafly挑战赛24 无限手套(生成函数)
无限手套每种宝石的生成函数为∑n≥0xn(ain2+bin+1)对其进行化简∑n≥0xn+∑n≥0binxn+∑n≥0ain2xn11−x+bix(1−x)2+aix(1+x)(1−x)3最后答案∏i=1m((ai−bi+1)x2+(ai+bi−2)x+1)(1−x)3m每种宝石的生成函数为\sum_{n \geq 0} x ^ n(a_i n ^ 2 + b_i n + 1)\\对其进行化简\sum_{n \geq 0} x ^ n + \sum_{n \geq 0} b_i n x ^ n + \原创 2021-02-23 20:49:50 · 272 阅读 · 0 评论 -
HDU 6755 Fibonacci Sum(二次剩余 + 二项式展开)
Fibonacci Sum斐波那契通项有an=15((1+52)n−(1−52)n)(15)k∑i=0n((1+52)ic−(1−52)ic)kA=1+52,B=1−52(15)k∑i=0n∑j=0k(−1)k−jCkjAicjBic(k−j)(15)k∑j=0k(−1)k−jCkj(∑i=0nAcj×iBc(k−j)×i)斐波那契通项有a_n = \frac{1}{\sqrt 5}\left((\frac{1 + \sqrt 5}{2}) ^ n - (\frac{1 - \sqrt 5}{2}) ^原创 2021-02-20 15:31:29 · 216 阅读 · 0 评论 -
(CCPC 2020 网络选拔赛)HDU 6900 Residual Polynomial(分治 + NTT)
Residual Polynomial写出所有的fi(x)f_i(x)fi(x)出来,fi,jf_{i, j}fi,j表示fi(x)f_i(x)fi(x)的第jjj项系数{f1,0f1,1f1,2…f1,n−1f1,nf2,0f2,1f2,2…f2,n−1f2,nf3,0f3,1f3,2…f3,n−1f3,n⋮⋮⋮⋱⋮⋮fn−1,0fn−1,1fn−1,2…fn−1,n−1fn−1,nfn,0fn,1fn,2…fn,n−1fn,n}\left\{ \begin{matrix}f_{1, 0}原创 2021-02-20 15:29:51 · 351 阅读 · 0 评论 -
#3456. 城市规划(生成函数,多项式求逆)
#3456. 城市规划设fnf_nfn为nnn个点的的点的简单无向连通图数目,gng_ngn为nnn个点的简单无向图个数(不要求联通)。对于gng_ngn显然有gn=2n(n−1)2g_n = 2 ^{\frac{n(n - 1)}{2}}gn=22n(n−1),共有n(n+1)2\frac{n(n + 1)}{2}2n(n+1)条边,然后每条边可选可不选。我们枚举111所在的点的连通块可得:gn=∑i=1nCn−1i−1fign−i2(2n)=∑i=1n(i−1n−1)fi2(2n−i原创 2021-02-09 20:11:04 · 258 阅读 · 0 评论 -
P3978 [TJOI2015]概率论(生成函数)
P3978 [TJOI2015]概率论设fif_ifi表示节点数为iii的二叉树有多少,gig_igi表示节点数为iii的二叉树有多少叶子节点。fn=∑i=0n−1fifn−1−if_n = \sum\limits_{i = 0} ^{n - 1}f_if_{n - 1 - i}fn=i=0∑n−1fifn−1−i,f0=1f_0 = 1f0=1。对于ggg我们枚举根节点的左儿子或者右儿子,有gn=2∑i=0n−1fign−1−ig_n = 2\sum\limits_{i = 0} ^{原创 2021-02-08 11:44:13 · 294 阅读 · 0 评论 -
E. The Child and Binary Tree(生成函数 + 多项式)
E. The Child and Binary Tree不难写出一个递推式fn=∑i=1ngi∑j=0n−ifjfn−i−jf_n = \sum\limits_{i = 1} ^{n}g_i \sum\limits_{j = 0} ^{n - i}f_jf_{n - i - j}fn=i=1∑ngij=0∑n−ifjfn−i−j,其中gig_igi表示ccc中有没有iii这个数。设F(x)F(x)F(x)为fff的生成函数,G(x)G(x)G(x)为ggg的生成函数,则有F(x)=G(x)原创 2021-02-08 11:43:33 · 323 阅读 · 0 评论 -
#3771. Triple(生成函数 + 容斥)
#3771. Triple考虑只有一个损失时,损失值的生成函数为A(x)A(x)A(x)。如果不考虑无序方案,有两个损失的生成函数为B(x)=A(x)A(x)B(x) =A(x)A(x)B(x)=A(x)A(x),同理有三个的时候C(x)=A(x)A(x)A(x)C(x) = A(x)A(x)A(x)C(x)=A(x)A(x)A(x)。考虑如何得到无序方案:选择两个的时候:ababab的排列有ab,baab, baab,ba两种,我们先减去aa,bbaa, bbaa,bb的然后除以二就是B(x)B原创 2021-02-08 11:42:38 · 482 阅读 · 0 评论 -
多项式全家桶(半)
快速傅里叶变换(FFT)多项式表示系数表示法:一个nnn次多项式可以用n+1n + 1n+1个系数表示出来:f(x)=a0+a1x+a2x2+⋯+an−1xn−1+anxnf(x) = a_0 + a_1 x + a_2 x ^ 2 + \dots + a_{n - 1} x ^{n- 1} + a_n x ^nf(x)=a0+a1x+a2x2+⋯+an−1xn−1+anxn。点值表示法:通过线性代数,高斯消元我们可以知道,一个nnn次多项式可以通过n+1n + 1n+1个点联立方程组解原创 2021-02-07 21:09:30 · 911 阅读 · 0 评论 -
牛客练习赛50 F tokitsukaze and Another Protoss and Zerg
tokitsukaze and Another Protoss and Zerg考虑生成函数,每一场的生成函数为∑j=1b[i]Cb[i]j+∑j=1a[i]Ca[i]jxj\sum\limits_{j = 1} ^{b[i]}C_{b[i]} ^ j + \sum\limits_{j = 1} ^{a[i]}C_{a[i]} ^{j} x ^ jj=1∑b[i]Cb[i]j+j=1∑a[i]Ca[i]jxj,进一步化简可得2b[i]−1+∑j=1a[i]Ca[i]jxj2 ^{b[i]} -原创 2021-02-06 20:35:44 · 503 阅读 · 0 评论 -
南昌网络赛E Interesting Series
Interesting Series可求得通项Fn=an−1a−1F_n = \frac{a ^ n - 1}{a - 1}Fn=a−1an−1,一个等比数列的前nnn项和,value(s)=Fsum(s)value(s) = F_{sum(s)}value(s)=Fsum(s)。题目要我们求的是Answer(K)=∑s∈subset of S and ∣s∣=Kvalue(s)Answer(K) = \sum\limits_{s \in subset\ o原创 2021-02-06 18:14:23 · 210 阅读 · 0 评论 -
多项式除法,多项式取模
多项式除法给定一个nnn次多项式F(x)F(x)F(x)和mmm次多项式G(x)G(x)G(x),要求R(x),Q(x)R(x), Q(x)R(x),Q(x),满足F(x)=R(x)G(x)+Q(x)F(x) = R(x)G(x) + Q(x)F(x)=R(x)G(x)+Q(x)。R(x)R(x)R(x)是一个n−mn - mn−m阶多项式,Q(x)Q(x)Q(x)是一个小于mmm阶的多项式。有F(x)≡R(x)G(x)+Q(x)(modxn+1)F(1x)≡R(1x)G(1x)+Q(1x)(modx原创 2021-02-05 11:11:33 · 1389 阅读 · 0 评论 -
P4705 玩游戏(生成函数,多项式ln)
P4705 玩游戏有ansk=∑i=1n∑j=1m(ai+bj)knm先舍弃nm不管ansk=∑r=0k∑i=1n∑j=1mCkrairbjk−r=∑r=0k∑i=1n∑j=1mk!r!(k−r)!airbjk−r=k!∑r=0k(1r!∑i=1nair)(1(k−r)!∑j=1mbjk−r)不难发现这就是一个卷积的形式了,但是我们现在还不知道∑i=1nair,∑i=1mbir,(r∈[0,k])设A(x)为∑i=1nair的生成函数,同理可得B(x)A(x)=∑r≥0xr∑i=1nair=∑i=1n∑r原创 2021-02-04 21:05:30 · 258 阅读 · 0 评论 -
P2012 拯救世界2(指数型生成函数)
P2012 拯救世界2三种基因,我们分别列出其生成函数:F(x)=∑n≥0xnn!=exG(x)=∑n≥0x2n+1(2n+1)!=12(∑n≥0xnn!−∑n≥0(−1)nxnn!)=12(ex−e−x)H(x)=∑n≥0x2n(2n)!=12(∑n≥0xnn!+∑n≥0(−1)nxnn!)=12(ex+e−x)F(x) = \sum_{n \geq 0} \frac{x ^ n}{n!} = e ^ x\\G(x) = \sum_{n \geq 0} \frac{x ^{2n + 1}}{(2n原创 2021-02-04 15:36:11 · 282 阅读 · 0 评论 -
多项式模板(inv, sqrt, ln, exp)
#include <bits/stdc++.h>using namespace std;const int mod = 998244353, inv2 = mod + 1 >> 1;namespace Quadratic_residue { struct Complex { int r, i; Complex(int _r = 0, int _i = 0) : r(_r), i(_i) {} }; int I2; Complex op原创 2021-02-04 10:35:40 · 1364 阅读 · 1 评论 -
HDU 5730 Shell Necklace(生成函数 多项式求逆)
Shell Necklace由题意可得f[n]=∑i=1na[i]f[n−i]f[n] = \sum\limits_{i = 1} ^{n} a[i] f[n - i]f[n]=i=1∑na[i]f[n−i],设f[n]f[n]f[n]的生成函数为F(x)F(x)F(x),a[n]a[n]a[n]的生成函数为A(n)A(n)A(n)F(x)A(x)=∑n≥0xn∑i+j=naifn−i由于a0=0,a0f0=0,右侧卷积缺了f0这一项F(x)A(x)=F(x)−f0F(x)=11−A(x)多项式求个逆原创 2021-02-01 14:18:03 · 262 阅读 · 0 评论 -
P4389 付公主的背包(生成函数,多项式exp)
P4389 付公主的背包考虑生成函数有:∏i=1n11−xvi对其取对数得,∑i=1nln11−xviF(x)=11−xv,G(x)=lnF(x)G(x)=∫F′(x)F(x)dxG(x)=∫vxv−11−xvdxG(x)=∫∑n≥0vxvn+v−1dxG(x)=∑n≥0vxvn+vvn+vG(x)=∑n≥0xv(n+1)n+1G(x)=∑n≥1xvnn对于原式:∑i=1n∑j=1∞xvijj\prod_{i = 1} ^{n} \frac{1}{1 - x ^{v_i}}\\对其取对数得,\s原创 2021-02-01 00:18:59 · 285 阅读 · 0 评论 -
生成函数简单入门
生成函数可表示为F(x)=∑nankn(x)F(x) = \sum\limits_{n} a_n k_n(x)F(x)=n∑ankn(x),对于不同类型的生成函数,有不同的核函数kn(x)k_n(x)kn(x)。普通生成函数:kn(x)=xnk_n(x) = x ^ nkn(x)=xn。指数生成函数:kn(x)=xnn!k_n(x) = \frac{x ^ n}{n !}kn(x)=n!xn。迪利克雷生成函数:kn(x)=1nxk_n(x) = \frac{1}{n ^ x}kn(x原创 2021-01-31 23:24:34 · 785 阅读 · 0 评论 -
多项式牛顿迭代(应用:求逆,开根,对数exp)
多项式牛顿迭代给定多项式g(x)g(x)g(x),求f(x)f(x)f(x),满足g(f(x))≡0(modxn)g(f(x)) \equiv 0 \pmod {x ^ n}g(f(x))≡0(modxn)。泰勒展开对于现有得f(x)f(x)f(x),构造一个多项式g(x)g(x)g(x),使得f(n)(x)=g(n)(x)f^{(n)}(x) = g ^{(n)} (x)f(n)(x)=g(n)(x),也就是两者得nnn阶导数是相等的。假设g(x)=a0+a1x+a2x2+⋯+an−1xn−1+a原创 2021-01-30 22:39:56 · 732 阅读 · 0 评论 -
多项式对数函数ln f(x)
多项式对数函数lnf(x)\ln f(x)lnf(x)如果存在解必然有[x0]f(x)=1[ x ^ 0]f(x) = 1[x0]f(x)=1,对lnf(x)\ln f(x)lnf(x)求导,有dlnf(x)dx≡f′(x)f(x)(modxn)\frac{d \ln f(x)}{dx} \equiv \frac{f'(x)}{f(x)} \pmod {x ^ n}dxdlnf(x)≡f(x)f′(x)(modxn),dxdxdx乘到右边,再求积分有:∫dlnf(x)≡∫f′(x))f(原创 2021-01-30 00:28:22 · 1581 阅读 · 0 评论 -
分治FFT
分治FFT考虑计算这么一个式子f(i)=∑j=1ifi−jg(j)f(i) = \sum\limits_{j = 1} ^{i} f_{i - j}g(j)f(i)=j=1∑ifi−jg(j),给定g(x)g(x)g(x),求f(x)f(x)f(x),边界条件f(0)=1f(0) = 1f(0)=1。假设我们已经算出[l,mid][l, mid][l,mid],考虑计算其对[mid+1,r][mid + 1, r][mid+1,r]的贡献w(i)w(i)w(i),有w(x)=∑i=lmidf(i)原创 2021-01-30 00:27:06 · 261 阅读 · 0 评论 -
多项式开根
多项式开根给定多项式g(x)g(x)g(x),求f(x)f(x)f(x),满足f2(x)=g(x)f ^ 2(x) = g(x)f2(x)=g(x)。假设我们已经得到了g(x)g(x)g(x),膜x⌈n2⌉x ^{\lceil \frac{n}{2} \rceil}x⌈2n⌉下的根f0(x)f_0 (x)f0(x),要求膜xnx ^ nxn下的根f(x)f(x)f(x)有f02(x)≡g(x)(modx⌈n2⌉)f_0 ^2(x) \equiv g(x) \pmod {x ^{\lceil \fr原创 2021-01-29 22:03:29 · 555 阅读 · 0 评论 -
多项式求逆
多项式求逆f(x)g(x)≡1(modxn)f(x) g(x) \equiv 1 \pmod {x ^ n}f(x)g(x)≡1(modxn),称f(x)f(x)f(x)为g(x)g(x)g(x)或者g(x)g(x)g(x)为f(x)f(x)f(x)膜xnx ^ nxn意义下的逆元。下面我们讨论给定f(x)f(x)f(x),求其逆f−1(x)f ^{-1}(x)f−1(x)。倍增求解假设我们已经求得f(x)f(x)f(x)膜x⌈n2⌉x ^{\lceil \frac{n}{2}} \rceilx⌈2原创 2021-01-29 22:01:51 · 366 阅读 · 0 评论 -
快速傅里叶变换(完整推导过程 + 模板)
快速傅里叶变换多项式表示系数表示法:一个nnn次多项式可以用n+1n + 1n+1个系数表示出来:f(x)=a0+a1x+a2x2+⋯+an−1xn−1+anxnf(x) = a_0 + a_1 x + a_2 x ^ 2 + \dots + a_{n - 1} x ^{n- 1} + a_n x ^nf(x)=a0+a1x+a2x2+⋯+an−1xn−1+anxn。点值表示法:通过线性代数,高斯消元我们可以知道,一个nnn次多项式可以通过n+1n + 1n+1个点联立方程组解得:f(原创 2021-01-28 16:10:52 · 3316 阅读 · 0 评论 -
LibreOJ #6207. 米缇(杜教筛 + 拉格朗日插值)
#6207. 米缇推式子∑i=1n∑j=1ndK(ij)∑i=1n∑j=1n∑x∣i∑y∣j[gcd(x,y)=1]ixkyk∑i=1n∑j=1n∑x∣i∑y∣j∑d∣gcd(x,y)μ(d)ixkyk∑d=1nμ(d)dk∑i=1nd∑x∣iixk∑j=1nd∑y∣iyk∑d=1nμ(d)dk∑i=1nd∑x∣ixk∑j=1nd∑y∣iyk∑d=1nμ(d)dk(∑i=1nd∑x∣ixk)2∑d=1nμ(d)dk(∑x=1ndxk∑x∣i)2∑d=1nμ(d)dk(∑x=1ndxk∑x=1nxd)2∑原创 2020-10-04 21:33:58 · 246 阅读 · 0 评论 -
拉格朗日插值
拉格朗日插值简要阐述结论给定n+1n + 1n+1个点最多可以得到一个nnn次多项式的表达式,并且f(x)=∑i=1nyi∏j∤ix−xjxi−yjf(x) = \sum_{i = 1} ^{n} y_i \prod\limits_{j \nmid i}\frac{x - x_j}{x_i - y_j}f(x)=∑i=1nyij∤i∏xi−yjx−xj我们随便往里带入一个xi,yjx_i, y_jxi,yj可以得到等式是成立的,所以我们只要套模板即可求得某个函数的值。特殊情况当xx原创 2020-09-03 21:48:56 · 1064 阅读 · 0 评论 -
F. Cowmpany Cowmpensation(树形dp + 拉格朗日插值)
F. Cowmpany Cowmpensation首先一般dp推导dp[i][j]=∏u∈soni∑k=1jdp[v][k]dp[i][j] = \prod\limits_{u \in son_i} \sum\limits_{k = 1} ^{j} dp[v][k]dp[i][j]=u∈soni∏k=1∑jdp[v][k]这个是毫无疑问的,然后我们考虑如何得到d≥nd \geq nd≥n的情况。我们给定一个出了1号节点全是叶节点的情况,显然在根节点的统计也就是一个关于叶节点个数的多项式,当我们对原创 2020-09-03 19:31:18 · 291 阅读 · 0 评论 -
EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)
EOJ Monthly 2019.11∑i=1n∑a1=1i∑a2=1i∑a3=1i⋯∑ak−1i∑aki[gcd(a1,a2,a3,…,ak−1,ak,i)==1]=∑i=1n∑d∣iμ(d)⌊id⌋k=∑d=1nμ(d)∑d∣i⌊id⌋k=∑d=1nμ(d)∑t=1ndtk\sum_{i = 1} ^{n} \sum_{a_1 = 1} ^{i} \sum_{a_2 = 1} ^{i} \sum_{a_3 = 1} ^{i} \dots \sum_{a_{k - 1}} ^{i} \sum_{a_k原创 2020-09-03 15:34:07 · 224 阅读 · 0 评论 -
Polynomial(2019南昌邀请赛)(拉格朗日插值)
Polynomial思路题目给的是一个nnn次多项式,要我们求∑i=lr\sum\limits_{i = l} ^{r}i=l∑r,也就是一个累加的形式,容易想到转换成求前缀和。所以我们考虑求前缀和,容易得到这个多项式的前缀和一定是≥n&≤n+1\geq n \& \leq n + 1≥n&≤n+1次的多项式,所以我们必须最少有n+2n + 2n+2个前缀和才能推导,所以我们先通过f(0)−>f(n)f(0) -> f(n)f(0)−>f(n)得到f(n+原创 2020-09-03 14:49:49 · 253 阅读 · 0 评论 -
P3723 [AH2017/HNOI2017]礼物(FFT)
P3723 [AH2017/HNOI2017]礼物式子化简∑i=1n(xi−yj)2\sum_{i = 1} ^{n} (x_i- y_j) ^2\\i=1∑n(xi−yj)2我们对第一个手环+c+c+c,相当于(xi+c−yi)2(x_i + c - y_i) ^ 2(xi+c−yi)2,对第二个手环+c+c+c相当于(xi−yi−c)2(x_i - y_i - c) ^2(xi−yi−c)2也就是(xi−yj+c)2(x_i - y_j + c) ^2(xi−yj+c)2,原创 2020-10-13 17:31:37 · 231 阅读 · 0 评论 -
P3338 [ZJOI2014]力(FFT)
P3338 [ZJOI2014]力式子化简Fj=∑i=1j−1qi×qj(i−j)2−∑i=j+1nqi×qj(i−j)2Ei=Fiqi1≤i≤n,求EiF_{j} = \sum_{i = 1} ^{j - 1} \frac{q_i \times q_j}{(i - j) ^2} - \sum_{i = j + 1} ^{n} \frac{q_i \times q_j}{(i - j) ^2}\\E_i = \frac{F_i}{q_i}\\1 \leq i \leq n, 求E_iFj=i=原创 2020-10-13 10:52:57 · 295 阅读 · 0 评论 -
FWT(OR, AND, XOR)(模板)
FWT(OR, AND, XOR)/* Author : lifehappy*/#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1 << 18, mod = 998244353, inv2 = 499122177;ll A[N], B[N], n;ll quick_pow(ll a, int n) { ll ans = 1; while(原创 2020-10-12 11:05:06 · 421 阅读 · 2 评论 -
HDU 4609 3-idiots(FFT)
3-idiots思路多项式卷积的经典应用了:看样例一:41 3 3 4我们用多项式系数表示得到一个与aia_iai有关的多项式:0 1 0 2 10\ 1\ 0\ 2\ 10 1 0 2 1,也就说明原序列有0个1,1个1,0个2,2个3,1个4,这个多项式卷积之后得到:0 0 1 0 4 2 4 4 1也就是可重复使用上面的两个数可以得到1个2…\dots…由此我们就确定了三角形的两条边了,但是因为可重原创 2020-10-10 21:09:40 · 240 阅读 · 0 评论