
组合计数
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
noip2016 Day2 T2-组合数问题-组合数学-前缀和
luogu P2822 右转进入题目vijos P4761 右转进入题目C(n,m)=C(n-1,m-1)+C(n-1,m).可以手动验证。然后,把它想象成一个矩形,如果C(n,m)=0(mod k)那么就让a[n][m]=1。然后用一个二位前缀和维护一下a数组即可。直接上代码:#include#include#include#include#define MAXN 201原创 2017-01-18 20:14:26 · 846 阅读 · 0 评论 -
bzoj 4693 雪中送温暖 - 组合数学 - 卢卡斯定理 - 数位dp
题解:考虑本质上是在对超矩形的每个点求从(1,1,…,1)走到这个点的方案数的奇偶性之和。到(x1,x2,…,xk)(x_1,x_2,\dots,x_k)(x1,x2,…,xk)的方案数显然为(所有xix_ixi都要-1):(∑i=1kxi)!∏xi!\frac{\left(\sum_{i=1}^k x_{i}\right)!}{\prod x_i!}∏xi!(∑i=1kxi)...原创 2018-10-08 18:12:15 · 379 阅读 · 0 评论 -
msc的棋盘 - 网络流 - 最小割 - dp
题目大意:有一张网格图,每个位置有至多1个棋子。告诉你每一列有多少棋子{bm}\{b_m\}{bm},问有多少行的情况{an}\{a_n\}{an}(即每一行有多少棋子),使得存在一种情况,满足这两个限制。例如当n=4,m=2,b1=1,b2=3n=4,m=2,b_1=1,b_2=3n=4,m=2,b1=1,b2=3的时候,{1,1,1,1},{0,1,1,2}\{1,1,1,1\},...原创 2018-10-16 18:06:31 · 388 阅读 · 0 评论 -
竞赛图强连通分量大小幂和计数 - 组合计数 - 多项式
题目大意:求所有nnn个点带标号竞赛图的强连通分量大小的kkk次方之和的和,对998244353599824435359982443535模数取模。n≤105,k≤998244352n\le10^5,k\le 998244352n≤105,k≤998244352。题解:竞赛图缩点后拓扑序唯一(其实是链状结构然后剩下的两端不在同一个强连通分量里面的边的方向是确定的)。设gng_ngn表示答案...原创 2018-10-17 14:57:46 · 914 阅读 · 0 评论 -
AGC 019 F Yes or No - 组合计数
对应到坐标系的路径,并钦定x=y时随便选一个。那么一个路径的贡献是max(a,b)+经过y=x的次数(在x=0处不算)*0.5没了。#include<bits/stdc++.h>#define gc getchar()#define rep(i,a,b) for(int i=a;i<=b;i++)#define Rep(i,v) rep(i,0,(int)v.size...原创 2018-10-21 19:58:49 · 277 阅读 · 0 评论 -
dcx游走 - 组合计数
题目大意:平面直角坐标系开始在(0,0)每次可以向上下左右走一个单位距离。1e6次询问从原点走k步到(a,b)的方案数。k,a,b&lt;=1e6。题解:将坐标变换为(x+y,x-y)这样移动方案变为(±1,±1),从而横纵坐标独立,然后O(1)出解。#include&lt;bits/stdc++.h&gt;#define gc getchar()#define rep(i,a,b) fo...原创 2018-10-31 16:28:53 · 356 阅读 · 0 评论 -
ARC 083 F Bichrome Tree - 组合数学 - 基环树
题目大意:平面直角坐标系上有2n个点,x轴上(1~n,0)有n个bot,y轴同理。启动x轴上的bot会向上走,y轴上的会向右走,走到第一个小球并和小球发生湮灭。问(2n)!种启动顺序中有多少方案能使小球全部湮灭。题解:考虑二分图,每个小球对应X连Y的一条边。那么如果先不考虑顺序,考虑分配方案,相当于是每条边选择一个端点。例如x-y这条边选择x作为端点,并且x是X中的点,那么意思是我选择用(...原创 2018-10-24 16:56:46 · 287 阅读 · 0 评论 -
[学习笔记]Mys_C_K的链接好题 - 组合计数 - 多项式理论 - EGF学习笔记
重新认知了一遍关于EGF(指数生成函数)的理论。两个对象A和B的拼接对等于EGF的乘积,这里的拼接是区分A和B的。因此如果要将同类的对象拼接起来,例如如果要拼接k次,那么对等于Akk!\frac{A^k}{k!}k!Ak。因此,若一个对象B是若干A自身拼接而成,那么:B=∑i≥0Aii!=eAB=\sum_{i\geq0}\frac{A^i}{i!}=e^AB=i≥0∑i!Ai=eA...原创 2018-11-11 19:24:47 · 547 阅读 · 0 评论 -
左方之地 - 结论 - 组合计数
题目大意:给定一个序列A\mathrm AA。问一棵Treap(点的编号是有堆性质的二叉树)∑x=1ndepth(x)∗A(x)\sum_{x=1}^n\mathrm{depth}(x)*\mathrm{A}(x)∑x=1ndepth(x)∗A(x)的期望值是多少。题解:有个结论是,一个点的深度是这样的:将其编号的中序遍历写下来,从这个点对应中序遍历的位置向左走,一开始计数器是0,每次...原创 2018-11-23 21:59:53 · 1046 阅读 · 0 评论 -
黑暗 - 容斥 - 组合计数
题目大意:平面上a个白色棋子,b个黄色,c个蓝色,对每个棋子移动m步,每步可以上下左右移动1单位距离,问有多少种方案,使得任意两点坐标相同当且进当颜色相同。坐标绝对值、棋子总数、步数均不超过1000。题解:先容斥不同颜色坐标不同,问题转为一些点m步后走到同一个点的方案数,将(x,y)坐标变换为(x+y,x-y),然后横纵独立,然后坐标范围不大,暴力枚举组合数计算即可。#include<b...原创 2018-12-03 10:09:07 · 304 阅读 · 0 评论 -
「2017 山东一轮集训 Day4」塔 - dp - 矩阵乘法
题目大意:现在有一条 [1,l][1, l][1,l] 的数轴,要在上面造 nnn 座塔,每座塔的坐标要两两不同,且为整点。塔有编号,且每座塔都有高度,对于编号为 iii 座塔,其高度为 iii。对于一座塔,需要满足它与前面以及后面的塔的距离大于等于自身高度(不存在则没有限制)。问有多少建造方案。答案对 mmm 取模。塔不要求按编号为顺序建造。题解:考虑给你一个排列怎么算有多少种放法,显然令...原创 2018-12-08 18:50:26 · 568 阅读 · 0 评论 -
Dragonfly - 找规律 - dp
题目大意:问有多少{Ln},{Rn},∀i∈[1,n]Li,Ri∈[1,n]\{L_n\},\{R_n\},\forall i\in[1,n]L_i,R_i\in[1,n]{Ln},{Rn},∀i∈[1,n]Li,Ri∈[1,n]满足从任意x∈[1,n]x\in[1,n]x∈[1,n]出发,先做AAA次x=Lxx=L_xx=Lx,再做一次x=Rxx=R_xx=Rx,再做BBB次x=L...原创 2018-12-13 16:10:52 · 457 阅读 · 0 评论 -
青春野狼不做小恶魔学妹的梦 - 斯特林数 - 多项式理论
题目大意:对所nnn个点的连通图G\mathrm{G}G求边数的kkk次方和。n≤5×104,k≤15n\le5\times10^4,k\le15n≤5×104,k≤15题解:显然考虑斯特林数:mk=∑i=0kS(k,i)i!(mi)m^k=\sum_{i=0}^kS(k,i)i!\binom mimk=∑i=0kS(k,i)i!(im),因此统计nnn个点的图并选定其中恰好iii条不...原创 2018-12-26 12:45:29 · 2749 阅读 · 1 评论 -
[集训队作业2018]uoj 450 复读机 - 组合计数
题目大意:群里有 k 个不同的复读机。为了庆祝平安夜的到来,在接下来的 n 秒内,它们每秒钟都会选出一位优秀的复读机进行复读。非常滑稽的是,一个复读机只有总共复读了 d 的倍数次才会感到快乐。问有多少种不同的安排方式使得所有的复读机都感到快乐。模数19491001.题解:以d=3为例,设a,b,c是三个三次单位根,那么答案就是nkn![x^n]\left(\...原创 2019-03-03 12:23:56 · 398 阅读 · 0 评论 -
[集训队作业2018]uoj 424 count - 组合计数 - 结论
观察到两个序列同构当且仅当建出来的笛卡尔树同构。一个序列合法当且仅当深度不超过m。因此问题转为左括号数不超过k的括号序列数量。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<assert.h>#define mod...原创 2019-03-03 12:25:45 · 567 阅读 · 0 评论 -
时机成熟之时 - 概率与期望 - 组合计数
我终于知道min-max的期望形式为啥是对的了题目大意:有n个球,每次等概率的选一个球涂黑。假设T次后所有球都被涂黑了,求∑i=1Tik\sum_{i=1}^T i^k∑i=1Tik的期望。n,k≤100n,k\le100n,k≤100题解:这题有很多种推法,自己yy了这么一个:answer=∑i≥1P(i)∑k=1ijk=∑j≥1jk∑i≥jP(i)=∑j≥1jk(1−∑i=1j−1P(...原创 2019-03-19 15:23:34 · 501 阅读 · 0 评论 -
几何 - 组合数学 - 分治FFT - 分块
题目大意:有n个正四面体,第k个边长是k个木棍。想要摧毁第k个正四面体,当且进当移除了至少k个正四面体,以及四个结点至少是两条边的段点。现在要摧毁至少m个正四面体,问方案数,不考虑顺序和空间同构,n≤60000,p=105+3n\le60000,p=10^5+3n≤60000,p=105+3。p为模数。题解:首先摧毁第k(k&amp;amp;gt;1)k(k&amp;amp;gt;1)k(k&amp;gt;1)个的...原创 2018-10-07 14:57:51 · 419 阅读 · 0 评论 -
[JSOI2015] bzoj 4487 染色问题 - 容斥
连着三个容斥最后一个用二项式定理缩起来即可。 (或者只容斥两层亦可)#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&amp;lt;algorithm&amp;gt;#define N 2010原创 2018-09-14 16:54:47 · 256 阅读 · 0 评论 -
AGC 001 E BBQ Hard - dp
经典问题了#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define gc getchar()#define lint long long#define mod 1000000007#define debug(x) cerr<<...原创 2018-09-17 19:22:14 · 255 阅读 · 0 评论 -
Educational Codeforces Round 23 A-F
感觉这种比赛就是拼手速啊QwQA.Treasure Hunt题目大意:平面直角坐标系中给定起点和终点,每次可以从(a,b)走向(a+x,b+y),(a-x,b-y),(a+x,b-y),(a-x,b+y)这四个点。问从起点能否到达终点。要求O(1)做法。题解:这个第一遍提交还WA了QwQ。首先如果这个是在一维直线上的,那么只要判断|x1-x2|是不是x的倍数即可。在二维原创 2017-06-16 11:32:16 · 586 阅读 · 0 评论 -
[HNOI2008]BZOJ1008 越狱 - 组合计数
传送门题解:这个题明明非常傻逼啊我大概五分钟看题+想出来+提交+AC总数减去不合法数量即可。公式非常傻。#include#include#define mod 100003#define lint long long//ans=m^n-m*(m-1)^(n-1)using namespace std;lint fp(lint x,lint k){ if(k==原创 2017-06-20 09:54:00 · 376 阅读 · 0 评论 -
BZOJ 3309 DZY Love Math
题目大意:求:∑ni=1∑mj=1f(gcd(i,j))\sum_{i=1}^n\sum_{j=1}^m f(\gcd(i,j)) 其中f(x)表示x的质因数分解中,最大的指数。特殊的,f(1)=0。n,m<=1e7, T<=1e3。 题解: 首先考虑莫比乌斯反演,下文设n<=m: 首先转为枚举最大公因数: ∑i=1n∑j=1mf(gcd(i,j))\sum_{i=1}^n\sum_{j=原创 2017-12-22 20:28:42 · 458 阅读 · 0 评论 -
HDU 4625 JZPTREE 数学 - 斯特林数学习笔记
题目大意:给你一颗树,对每一个点x求所有点到其距离的k次方之和。n≤50000,&nbsp;k≤500n≤50000,&nbsp;k≤500n\le50000,\ k\le 500。斯特林数的一个应用,先考虑O(nk2)O(nk2)O(nk^2)暴力怎么做,例如,求出x到其子树中所有点的距离k次之和(然后再转移出到所有点的答案即可,过程类似): dpk[x]=∑y∈Treexdis(x,y)...原创 2018-04-14 17:44:32 · 390 阅读 · 0 评论 -
bzoj 3456 城市规划 - 图计数 - NTT - 多项式求逆 - NTT学习笔记 - 多项式求逆学习笔记
设f[x]表示x个点的连通图,h[x]=2^{C(n,2)}为任意图的数量。 Hn=∑ni=1(n−1i−1)Fi×&amp;nbsp;Hn−iHn=∑i=1n(n−1i−1)Fi×&amp;nbsp;Hn−iH_n=\sum_{i=1}^n \binom{n-1}{i-1}F_i\times\ H_{n-i} Hn(n−1)!=∑ni=1Fi(i−1)!×&amp;nbsp;Hn−i(n−i)!Hn(n−1)!=∑...原创 2018-04-12 11:39:18 · 416 阅读 · 1 评论 -
bzoj 3162 独钓寒江雪 - 无标号树同构 - dp - 学习笔记
对于无标号树计数首先要找到其重心作根,如果有多个就再建一个点连着两个点;这样能够保证一个节点的某棵子树不会和整棵树减去当前这颗子树形成的树同构,这样就转化为有根树。哈希就随便哈希即可。这个题,如果一个节点有x颗同构的树并且每一颗子树都有y中方案,那么就相当于y个变量每个变量取值&gt;=0其和为x的方案数,组合数一波即可。#include&lt;iostream&gt;#include&...原创 2018-05-01 12:33:35 · 247 阅读 · 0 评论 -
HDU4372 Count the Buildings - 计数
首先考虑n这个数字把序列划分成了两端。 把每个数字及其遮住的东西看作一个集合。 发现这就是个第一类斯特林数,然后在组合数分配一下即可。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define mod 1000000007#defin...原创 2018-07-29 09:15:03 · 230 阅读 · 0 评论 -
[JLOI 2016] bzoj 4559 成绩比较 - 计数 - 容斥 - 拉格朗日插值
计数至少有k名学生被碾压 发现此时除了那一堆组合数,答案是每一门课程满足其人排名是r的方案数的乘积。 考虑这个怎么算,设f_i(x)表示第i门课程其人分数是x且排名是r_i的方案数,显然是一个n-1次多项式。要对这个求前缀和,变成了一个n次多项式。发现该多项式不算组合数的部分与k无关可以预处理。#include<iostream>#include<cstring>...原创 2018-07-29 16:41:57 · 219 阅读 · 0 评论 -
bzoj 2839 集合计数 - 二项式反演
傻逼题#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define lint long long#define mod 1000000007#define N 1000010#define debug(x) cerr<<#x...原创 2018-07-30 21:38:00 · 348 阅读 · 0 评论 -
Topcoder SRM686 CyclesNumber - 斯特林数 - 计数
两种思考方式,一种是直接推式子,一种是考虑用斯特林数展开考虑组合意义。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define mod 1000000007#define lint long long#define N 100010#d...原创 2018-08-05 09:01:17 · 311 阅读 · 0 评论 -
小学生数学题 - 用第一类斯特林数解决自然数幂求和这个标签真长
题目和标签都是假的。 题目大意:给定p,&amp;amp;amp;amp;amp;amp;nbsp;k,&amp;amp;amp;amp;amp;amp;nbsp;np,&amp;amp;amp;amp;amp;amp;nbsp;k,&amp;amp;amp;amp;amp;amp;nbsp;np,\ k,\ n,求: (∑ni=11i)mod&amp;amp;amp;amp;amp;amp;nbsp;&am原创 2018-08-05 17:35:41 · 362 阅读 · 0 评论 -
[真学习笔记] 前夕 - 单位根反演 - 广义容斥
这次是真的学习笔记了…… 真正意义上搞明白广义容斥实在说啥…… 真正搞明白了单位根的那个性质……题目大意:有个大小为n的集合S,求所有选出若干非空且互不相等的子集使得交集大小是k的倍数。要求一个O(nk)的做法。 先来说说二项式反演这件事情: P(x)=∑xk=0Q(k)(xk)Q(x)=∑xk=0P(k)(xk)(−1)x−kP(x)=∑k=0xQ(k)(xk)Q(x)=∑k=0xP...原创 2018-08-03 15:19:12 · 1920 阅读 · 0 评论 -
[JLOI2015]bzoj 4005 骗我呢 - 组合数学 - dp
莫名其妙T了…… 考虑朴素dp,设dp[i,j]表示前i行j这个数字没出现,那么显然下一行只能是[j-1,m]的数字没出现,也就是dp[i,j]=∑min(j+1,m)k=0dp[i−1,k]dp[i,j]=∑k=0min(j+1,m)dp[i−1,k]dp[i,j]=\sum_{k=0}^{min(j+1,m)}dp[i-1,k],如果0&lt;j&lt;m0&lt;j&lt;m0dp[i,j...原创 2018-08-27 17:01:53 · 388 阅读 · 0 评论 -
fixed - 结论 - 计数 - dp
题目大意:给定n,mn,mn,m,问有多少nnn行nnn列的矩阵AAA,满足: 1)∀i,j∈[1,n],Ai,j∈[0,m)∀i,j∈[1,n],Ai,j∈[0,m)\forall i,j\in[1,n],A_{i,j}\in[0,m); 2)∃i,j∈[1,n],∀p,q≥0,(Ap)i,j=(Aq)i,j∃i,j∈[1,n],∀p,q≥0,(Ap)i,j=(Aq)i,j\exists i...原创 2018-09-09 19:08:18 · 230 阅读 · 0 评论 -
「学习笔记」无标号生成树计数总结
感觉关于树/图计数是一门博大精深的学问,不知道这辈子有没有搞到足够明白的机会了啊QwQ一、有标号无根树计数:prufer序列即可。 二、有标号有根树计数:上一个东西乘以n即可。三、无标号有根树计数: 基本上是这篇的详细版本。考虑令fnfnf_n表示n个点的无标号有根树数量,其生成函数为F(x)=∑i&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;0fixiF(x)=∑i&amp;amp;amp;amp;a原创 2018-09-10 09:52:57 · 2746 阅读 · 0 评论 -
发电机感觉!!! - 组合数学 - 概率
题目大意:给你一段圆弧,对应弧度不小于32π\frac32\pi23π,然后在这个弧上随机选择n−1n-1n−1个点,求着n−1n-1n−1个点和弧的两端点形成的凸包包含圆心的概率。n≤107n\le10^7n≤107题解:考虑推式子……一种推法是把弧切均分成k段,然后求一个答案然后另k足够大取极限(其实就是求导),场上这么玩的。另一种方法就是仍然考虑计算不合法的,枚举哪一段大于π\piπ...原创 2019-04-16 16:10:53 · 1050 阅读 · 1 评论