组合计数
Freopen
这个作者很懒,什么都没留下…
展开
-
CF1278F Cards 加强版
题目设p=1mp = \frac 1mp=m1ans=∑i=0k{ki}pi(ni)i!=∑i=0k∑j=0i(ij)(ni)pi(−1)j(i−j)k=∑j=0k(−1)j(nj)∑i=jk(n−ji−j)pi(i−j)k=∑j=0k(−1)jpj(nj)∑i=0k−j(n−ji)piik=∑i=0kikpi∑j=0k−i(−p)j(nj)(n−ji)=∑i=0kikpi(ni)∑j=0k−i(−p)j(n−ij)\begin{aligned} ans &= \sum_{i=0}^k \be原创 2020-07-03 22:38:34 · 314 阅读 · 0 评论 -
无标号无根树计数
EulerEulerEuler变换ε(F(x))=∑i=1(∑j=0xij)[xi]F(x)\varepsilon(F(x)) = \sum_{i=1} (\sum_{j=0} x^{ij})^{[x^i]F(x)}ε(F(x))=∑i=1(∑j=0xij)[xi]F(x)可以用等比数列求和公式+ln\lnln+exp\expexp求得ε(F(x))=e∑i=1F(xi)i\varepsilon(F(x)) = e^{\sum_{i=1} \frac {F(x^i)}{i}}ε(F(x))=e∑原创 2020-06-01 22:47:10 · 1287 阅读 · 0 评论 -
CF1349F Slime and Sequences (欧拉数,扩展拉格朗日反演)
这篇博客大部分抄自此人好序列为对于一个长度为nnn的序列,其中若有ai=k(k>1)a_i= k(k>1)ai=k(k>1),则必存在aj∈[1,i−1]=k−1a_{j\in[1,i-1]} = k-1aj∈[1,i−1]=k−1求对于所有长度为nnn的好序列,分别求出k=1...nk = 1...nk=1...n的出现次数和。第一步神仙映射:把所有的好序列映射到排列中,发现可以一一对应。对应方法如下:排列到好序列:对于一个排列pip_ipi,如果p1,p2...pi原创 2020-05-27 11:55:34 · 659 阅读 · 3 评论 -
仙人掌计数
题目每次加减乘除都是一次挑战考虑对有根有标号仙人掌进行计数。(指数生成函数为C(x)C(x)C(x))连在根上的是若干个仙人掌和仙人掌环(即若干个有根仙人掌的根连成了一个环),删去根,则变成若干个仙人掌和仙人掌串。仙人掌串因为翻转同构,所以其生成函数为∑i=2C(x)i2\sum_{i=2} \frac {C(x)^i}2∑i=22C(x)i这些串和仙人掌任意组合分配标号后连在根上可以得到一颗新的仙人掌:C(x)=xexp(C(x)+∑i=2C(x)i2)=xexp(C(x)+C(x原创 2020-05-25 21:44:40 · 683 阅读 · 0 评论 -
点双联通图计数
题目比边双联通图计数多了一点小技巧。F(x)=∑i=02(i2)xii!F(x) = \sum_{i=0} \frac {2^{\binom i2}x^i} {i!}F(x)=∑i=0i!2(2i)xi有标号无向图数量。D(x)=ϑlnF(x)=[lnF(x)′]xD(x) = \vartheta \ln F(x) = [\ln F(x) ']xD(x)=ϑlnF(x)=[lnF(x)′]x即有根有标号联通无向图数量。B(x)=∑i=1bi+1xii!B(x) = \sum_{i=1} \原创 2020-05-25 20:04:50 · 429 阅读 · 0 评论 -
边双连通图计数
题目F(x)=∑2(i2)xii!F(x)=\sum \frac {2^{\binom i2}x^i}{i!}F(x)=∑i!2(2i)xi是无向图个数的指数生成函数。D(x)=(lnF(x))′xD(x)=(\ln F(x))'xD(x)=(lnF(x))′x是有根无向连通图的指数生成函数。(注意[x0]D(x)=0[x^0]D(x)=0[x0]D(x)=0因为没有根)B(x)B(x)B(x)是有根边双连通图的指数生成函数。D(x)D(x)D(x)中枚举根的边双联通分量大小可以得到方程:D原创 2020-05-24 22:40:53 · 363 阅读 · 0 评论 -
十二重计数法
题目I:\rm I:I:mnm^nmnII:\rm II:II:mn‾m^{\underline n}mnIII:\rm III:III:S2(n,m)m!S_2(n,m) m!S2(n,m)m!可以简单用公式xn=∑i=0nS2(n,i)xi‾x^n = \sum_{i=0}^n S_2(n,i) x^{\underline i}xn=∑i=0nS2(n,i)xi求出这个下降幂多项式的点值后×e−x\times e^{-x}×e−x得到其系数IV:\rm IV:IV:∑i=1原创 2020-05-24 17:08:59 · 552 阅读 · 0 评论 -
可相同整数拆分数
nnn个球全部相同,mmm个盒子全部相同,求球全部放入盒子中的方案数。设答案为pn,mp_{n,m}pn,m其递推式为:pn,m=pn−m,m+pn,m−1p_{n,m} = p_{n-m,m} + p_{n,m-1}pn,m=pn−m,m+pn,m−1意为和为nnn的mmm个非负整数,可以是和为n−mn-mn−m的mmm个非负整数每个都++++++得到,也可以是由和为nnn的m−1m-1m−1个非负整数加上一个000得到。可以被理解为我们需要对一个空集做mmm次操作,每次把集合中的数都加原创 2020-05-24 15:47:51 · 337 阅读 · 0 评论 -
有标号DAG计数
题目设fif_ifi为iii个点的有标号DAG\rm DAGDAG数量。枚举有jjj个点使其入度为000的DAG\rm DAGDAG数量:gj=(ij)2j(i−j)fi−jg_j = \binom ij 2^{j(i-j)} f_{i-j}gj=(ji)2j(i−j)fi−j设恰好有jjj个点入度为000的DAG\rm DAGDAG数量为hjh_jhj有gk=∑j=ki(jk)hjg_k = \sum_{j=k}^i\binom jk h_jgk=∑j=ki(kj)hj二项式原创 2020-05-23 17:36:51 · 490 阅读 · 0 评论 -
求和(CRT,推式子)
嗯所以F(x)=∑i=0aixix2+2xF(x) = \frac {\sum_{i=0} a_ix^i}{x^2+2x}F(x)=x2+2x∑i=0aixi可以发现ai=(n+2i)a_i = \binom {n+2}iai=(in+2)所以ai=bi−2+2bi−1a_i = b_{i-2} + 2b_{i-1}ai=bi−2+2bi−1通过这个式子从小到大,b0=a12b_0 = \frac {a_1}2b0=2a1,就可以通过aiO(m)a_iO(m)aiO(m...原创 2020-05-22 21:51:04 · 450 阅读 · 0 评论 -
画家小P
集训队论文太长不看版:预处理每个colcolcol构成的2n2^n2n个集合的答案后3ndp3^ndp3ndp出一个连通块的容斥系数,再∑i=1n2i−13n−i\sum_{i=1}^n 2^{i-1}3^{n-i}∑i=1n2i−13n−i的复杂度做一个333进制子集dpdpdp出整个图的容斥系数。论文复杂度计算有问题:实际复杂度为:哦,还要乘个nnn#include<bits/stdc++.h>#define LL long long#define mod 9982443原创 2020-05-20 18:59:23 · 213 阅读 · 0 评论 -
省选模拟:矩阵求和(树状数组,组合数)
这个题。画出这样一个矩形,设左边第iii行第0列的数为xi=(i−1)mx_i = (i-1)mxi=(i−1)m,上边第iii列第000行的数为yi=iy_i = iyi=i,就可以得到ai,j=xi+yja_{i,j} = x_i + y_jai,j=xi+yj那么可以发现交换两行和两列,只需要单点修改x,yx,yx,y这两个数组即可。kkk次前缀和,考虑一个ai,ja_{i,j}ai,j在kkk次前缀和后的(a,c)−>(b,d)(a,c) ->(b,d)(a,c)−.原创 2020-05-18 16:31:07 · 191 阅读 · 0 评论 -
【TC SRM 670】Gxor(斯特林反演,容斥原理)
题意定义两张 n 个点带标号无向图的 xor:结果也是一张 n 个点的带标号无向图:只包含恰好在一张图中出现的边。给出 m 张图,问有多少方案选一个子集,xor 起来的图恰好有 k 个连通块。O(Bell(n))O(Bell(n))O(Bell(n))枚举nnn个点划分为几个块,求块间的边全部不存在的方案数,有kkk个块的方案数为f(k)f(k)f(k)。那么考虑一个恰有ppp个联通块的方案xxx,对于f(k)f(k)f(k),会计算xxx的次数是S2(p,k)S_2(p,k)S2(p,k),原创 2020-05-14 19:38:10 · 273 阅读 · 0 评论 -
省选模拟:Every one will meet some difficult
请务必按顺序看。题解1题解2题解3好了可以骂我毒瘤博主了。题解3的巧妙之处在于把多项式的次数从sss转移到了mmm,但是实在是太巧了,恰好覆盖了所有题目中的已知有用条件(t≤1e5t\leq 1e5t≤1e5不算,这个做法可以做t≤1e18t\leq 1e18t≤1e18的)。给个代码吧。#include<bits/stdc++.h>#define LL long lo...原创 2020-04-02 09:44:27 · 272 阅读 · 0 评论 -
烷烃计数(Burnside引理,分治FFT)
在本学期的期末考试中, 连原电池正负极都分不清的你深感自己要爆零了没错正是在下. 就在这时, 你看到了一道附加题:33.\texttt{33.}33.(本题共计 100\texttt{100}100 分)23333\texttt{23333}23333 烷的同分异构体个数为 _______。(不考虑立体异构)是时候表演真正的计数了! 现在, 请你快速计算化学式为 CnH2n+2C_nH_{2n...原创 2020-03-31 18:57:00 · 2525 阅读 · 2 评论 -
排列
AC Code\mathrm {AC \ Code}AC Code#include<bits/stdc++.h>#define maxn 20000025#define mod 20000023#define LL long longusing namespace std;int fac[maxn],sf[maxn];LL n,k,ans=0;i...原创 2020-01-02 21:15:17 · 99 阅读 · 0 评论 -
LOJ #2023. 「AHOI / HNOI2017」抛硬币(组合计数,拓展Lucas)
题目有人讲得比我好嗯,总的来说就是把情况通过反转每一位的值来建立一一映射。建立映射之后就可以简单+不能建立映射的方案再/2了,这个题对于2的逆元的处理十分巧妙,也可以当做一个不错的exLucasexLucasexLucas板题。AC Code\mathrm {AC \ Code}AC Code#include<bits/stdc++.h>#define...原创 2019-12-24 15:27:36 · 277 阅读 · 0 评论 -
【NOIP模拟赛】长寿花(组合计数,DP去重)
n,m<=1e6,ai<=5e3,∑ai<=1e6n,m<=1e6,a_i<=5e3,\sum a_i <= 1e6n,m<=1e6,ai<=5e3,∑ai<=1e6不用谢。\text 不用谢。不用谢。首先每一层的答案只与颜色的数量有关。但是相邻层的颜色集合不能相同。预处理gi,jg_{i,j}gi,j表示iii个位置分配给jjj...原创 2019-11-12 16:09:33 · 170 阅读 · 0 评论 -
BZOJ 2155 R集合(不是Xor) (卡特兰数,Python)
设sum(S)sum(S)sum(S) 表示集合SSS 中所有元素的和。如果对于SSS 的任意两个不相交子集AAA和BBB,如果他们满足:(1).sum(A)(1).sum(A)(1).sum(A)不等于 sum(B)sum(B)sum(B)(2).if∣A∣>∣B∣thensum(A)>sum(B)(2).if|A| > |B| then sum(A) > sum(B...原创 2019-10-18 16:33:16 · 164 阅读 · 2 评论 -
BZOJ 3601 一个人的数论
第一次被搞。这个套路深啊。。。。。。∑i=1n−1[gcd(i,n)==1]id=∑i=1n∑p∣i,p∣nμ(p)id=∑p∣nnμ(p)∑i=1np(ip)d=∑p∣nnμ(p)pd∑i=1npid\sum_{i=1}^{n-1} [\gcd(i,n) == 1] i^d \\ =\sum_{i=1}^n \sum_{p|i,p|n} \mu(p) i^d\\=\sum_{p|n}^...原创 2019-10-16 17:00:24 · 177 阅读 · 0 评论 -
BZOJ 3162 独钓寒江雪(树同构计数)
给定一棵无根树,求其中本质不同的独立集的个数。无根树同构。转化成以重心为根的有根树,如果重心有两个,就在这两个重心之间插入一个点与这两个重心连边,这个点作为新的重心。然后就成了有根树同构过程树形DP。这个DP非常naive就不介绍了。如果子树有kkk个同构,他们的方案数都是ppp那么我们要本质不同的方案分配,可以想到令给子树分配方案的编号不递减,那么就是每分配给前一个子树一个方案,就要...原创 2019-10-14 13:29:34 · 224 阅读 · 0 评论 -
$Inverse$ Day7 T1
n&lt;=500,k&lt;=50n&lt;=500,k&lt;=50n<=500,k<=50这个题的突破口在于利用期望的可加性,计算所有的(x,y)两个位置x<y满足P[x]>P[y]的期望值之和即为答案。然后这个DP可以通过性质分析+前缀和优化到O(n2k)O(n^2k)O(n2k)我在考场上的方法也可以做到O(n2k)O(n^2...原创 2019-01-12 15:24:49 · 140 阅读 · 0 评论 -
BZOJ 3534 重建
ans=∑S(∏(i,j)∈SP[i][j]∏(i,j)∉S(1−P[i][j]))=∏(i,j)∈G(1−P[i][j])∑S(∏(i,j)∈SP[i][j]1−P[i][j])\begin{aligned} ans &amp;= \sum_{S}\left(\prod_{(i,j) \in S}P[i][j] \prod_{(i,j) \notin S} (1-P[i][j]) \r...原创 2019-03-05 16:49:47 · 105 阅读 · 0 评论 -
牛顿二项式定理
二项式系数:对于实数nnn和整数kkk(kn)=∑i=0k−1(r−i)k!,k&gt;=1\binom{k}{n} = \frac{\sum_{i=0}^{k-1}(r-i)}{ k! } , k &gt;=1(nk)=k!∑i=0k−1(r−i),k>=1对于k=0k=0k=0二项式系数为1,对于k&lt;=−1k&lt;=-1k<=−...原创 2019-03-08 21:38:10 · 3021 阅读 · 0 评论 -
JZOJ 5988. 【WC2019模拟2019.1.4】珂学计树题
【问题描述】liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_runda想让选手数n个节点的不同构的二叉树的数目.但是liu_runda虽然退役已久,也知道答案就是Catalan(n),这太裸了,出出来一定会被挂起来裱.因此他把题目加强.我们从二叉树的根节点出...原创 2019-03-26 19:03:56 · 188 阅读 · 0 评论 -
Burnside引理和Polya定理
引理是为证明某个定理或解某个问题所要用到的命题。引理和定理没有严格的区分,如果论证某个命题时,还没有直接根据,需要某些还没有被证明的结论,把它提出来加以证明,就是所谓的构造引理。–百度百科大佬博客Burnside引理看起来神奇,虚不着地,是因为一般我们都会漏掉一个重要的条件:我们的GGG需要是一个置换群。何谓群?不止是一个集合。我们需要满足:封闭性,结合律,有单位元,有逆元素。这...原创 2019-03-26 20:03:21 · 289 阅读 · 0 评论 -
2019牛客网 C Inversions of all permutations
题意:对于可重数组aaa的每个排列方式(方式不同当且仅当有一个位置的数不同)求逆序对数ttt,求对于所有的ttt的btb^tbt的和。题解:考虑从小到大插入,先不考虑相等的情况,那么插入第i大的数时按插入位置的不同会分别增加0,1,2,3,...i−10,1,2,3,...i-10,1,2,3,...i−1个逆序对,就相当于答案∗=(1+b+b2+b3...bi−1)*=(1+b+b^2+b^3...原创 2019-08-16 19:05:51 · 152 阅读 · 0 评论 -
LG P3266 [JLOI2015]骗我呢(路径统计组合问题+容斥)
题目LOJ的题面没有锅题解:首先发现每行都有mmm个不同的数字,并且是升序排列的,所以我们只需要知道哪个数不在。发现这一行不在的数为xxx,那么为了满足ai,j<ai−1,j+1a_{i,j} < a_{i-1,j+1}ai,j<ai−1,j+1上一行不在的数>=x−1>=x-1>=x−1那可以设fi,jf_{i,j}fi,j为第iii行,j...原创 2019-09-19 13:51:16 · 153 阅读 · 0 评论 -
BZOJ 1004 Cards(Polya定理)
题目只要等价类中的所有元素都合法或者都不合法,那么Polya定理仍然可以统计合法的等价类数,直接DP求合法方案的不动点平均值。AC Code:#pragma GCC optimize(2)#include<bits/stdc++.h>#define maxn 105using namespace std;int r,b,g,m,mod,ans,n;int f[maxn...原创 2019-09-20 21:04:54 · 192 阅读 · 0 评论 -
BZOJ 5093: 图的价值 第二类斯特林数$O(n \log n)$
简单题意一个带标号的图的价值定义为每个点度数的k(&lt;=2e5)k(&lt;=2e5)k(<=2e5)次方的和。n(&lt;=1e9)n(&lt;=1e9)n(<=1e9)个点的带标号的简单无向图的价值之和 (mod998244353)\pmod {998244353}(mod998244353)题解每个点只有标号之别,故只需要求出一个点的价...原创 2019-01-11 19:30:58 · 150 阅读 · 0 评论