组合数学
文章平均质量分 66
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[2017纪中10-27]排列 DP+容斥原理
题面 首先把a[i]=0的部分和b[i]=0的部分分开考虑,至于都不为零的预处理掉即可。这两部分做法类似就只写b[i]=0部分的做法。 我们按a[i]从小到大排序,设f[i][j]表示考虑填了前i个0,至少有j个a[i]>b[i]。那么f[i][j]=f[i-1][j]+f[i-1][j-1]*(< a[i]且可用的b[i]的数量-j+1),(因为前面确定的j-1个满足条件的b[i]都< a[i原创 2017-10-28 08:24:04 · 645 阅读 · 0 评论 -
[BZOJ4555]求和 多项式求逆
设gn=∑ni=0{ni}2ii!gn=∑i=0n{ni}2ii!g_n=\sum_{i=0}^n \begin{Bmatrix} n\\i \end{Bmatrix}2^ii!,题目即求∑ni=0gi∑i=0ngi\sum_{i=0}^n g_i。 考虑gngng_n的组合意义,把nnn个元素放进iii个集合,这些集合有顺序之分,而且每个集合有两种状态,那么考虑枚举一个集合,gn=∑ni=12...原创 2018-04-09 21:09:29 · 306 阅读 · 0 评论 -
[2018雅礼省选集训3-30]table 递推
考虑第ppp行的每个数对询问fx,yfx,yf_{x,y}的贡献。 对于x>px>px>p,观察fi,j=afi−1,j+bfi−1,j−1,fi,j=afi−1,j+bfi−1,j−1,f_{i,j}=af_{i-1,j}+bf_{i-1,j-1},每个fp,ifp,if_{p,i}相当于向下走一步并×a×a\times a,或者向右下走一步并×b×b\times b,再给路径条数...原创 2018-04-16 16:37:28 · 401 阅读 · 0 评论 -
[JXOI2018]游戏 线性筛
题面 我们定义不存在ddd使得d|x,L≤d,d≠xd|x,L≤d,d≠xd|x,L\le d,d\neq x的数xxx为好数。 那么对于一个排列ppp的t(p)t(p)t(p)显然是最后一个好数的出现位置。 线性筛求出好数个数mmm。 枚举最后一个好数的出现位置iii,那么满足的排列的个数有(i−1m−1)m!(n−m)!(i−1m−1)m!(n−m)!{i-1\choose m-1}m...原创 2018-05-04 16:11:55 · 357 阅读 · 0 评论 -
[JZOJ5746]和 自然数幂和+中国剩余定理
{nj}{nj}\begin{Bmatrix} n\\j \end{Bmatrix} 首先考虑计算模质数下的自然数幂和,通过stirling数转化成下降幂, ∑i=0nik=∑i=0n∑j=0k{kj}ij–=∑j=0k{kj}∑i=0nij–∑i=0nik=∑i=0n∑j=0k{kj}ij_=∑j=0k{kj}∑i=0nij_\sum_{i=0}^n i^k=\sum_{i=0}^n\sum...原创 2018-05-27 21:42:19 · 359 阅读 · 0 评论 -
[JZOJ5740]幻想世界 快速数论变换
首先发现α,βα,β\alpha,\beta的贡献和ak,bkak,bka_k,b_k的贡献是可以分开计算的,把一个DP状态看成是二维坐标上的一个点,转移就是每次从左边(x−1,y)(x−1,y)(x-1,y)或者从下面(x,y−1)(x,y−1)(x,y-1)转移。 先考虑计算α,βα,β\alpha,\beta的贡献。 考虑枚举两个点(x1,y1),(x2,y2)(x1≤x2,y1≤y2)...原创 2018-05-24 09:24:47 · 464 阅读 · 0 评论 -
[JZOJ5728] 简单计数|| 容斥+处理环上问题
先考虑链上的做法。 先预处理fi,jfi,jf_{i,j}表示iii个元素分到jjj个集合中,所有集合大小之积的和,fi,j=k⋅fi−k,j−1fi,j=k⋅fi−k,j−1f_{i,j}=k\cdot f_{i-k,j-1}。 那么假如第iii种数字的cicic_i个被分成了aiaia_i个,那么问题就转化成有nnn种颜色的球,第iii种球有aiaia_i个,求排列这些球使得相邻球不同色的...原创 2018-05-24 11:47:24 · 460 阅读 · 0 评论 -
[联合集训6-18]不同班级 容斥+分治NTT
我们设f(x)f(x)f(x)是至少有xxx个人与本班人匹配的方案数,那么根据容斥就有Ans=∑mi=0(−1)if(i)(n−i)!Ans=∑i=0m(−1)if(i)(n−i)!Ans=\sum_{i=0}^m (-1)^if(i)(n-i)! ai=bi=1ai=bi=1a_i=b_i=1的时候是经典的错排问题,f(x)=(nx)f(x)=(nx)f(x)={n\choose x}。 对...原创 2018-06-20 21:05:29 · 339 阅读 · 0 评论 -
[联合集训6-9] Psy 组合数学+杜教筛
显然,符合条件的数必须满足任何长度的后缀字典序必须严格大于全串。 假设一个串TTT可以由几个相同的串sss拼接而成,我们称TTT为循环串。显然所有循环串都是不满足条件的。 那么对于非循环串,那么其所有循环表示(就是切下一个前缀拼在后面)都是互不相同的。给出一个结论:一个合法串和一个环的最小循环表示串一一对应。 先证明一个合法串一定是最小循环表示串。(以下PxPxP_x表示长度为xxx的前缀,...原创 2018-06-13 22:55:52 · 343 阅读 · 0 评论 -
[CF932]E - Team Work 第二类stirling数
还是那个用下降幂替换kkk次幂的套路。推式子: ∑i=1n(ni)ik=∑i=1n(ni)∑j=0k{nj}ij–∑i=1n(ni)ik=∑i=1n(ni)∑j=0k{nj}ij_\sum_{i=1}^n{n\choose i}i^k=\sum_{i=1}^n{n\choose i}\sum_{j=0}^k\begin{Bmatrix} n\\j \end{Bmatrix}i^{\underli...原创 2018-02-19 12:36:07 · 1525 阅读 · 0 评论 -
容斥与反演总结
容斥和反演就是一个东西。朴素容斥原理|A1¯¯¯¯∩A2¯¯¯¯∩...∩An¯¯¯¯|=∑i=1N(−1)n−i∑|T|=i,T={x1,..,xi}|Ax1∩Ax2∩...∩Axi||\overline {A_1}\cap\overline {A_2}\cap...\cap\overline {A_n}|=\sum_{i=1}^N(-1)^{n-i}\sum_{|T|=i,T=\{原创 2018-01-20 22:13:01 · 1755 阅读 · 0 评论 -
[ARC062]F - Painting Graphs with AtCoDeer 双联通分量+Pólya计数
题面 把边分成三种: 1. 不在点双联通分量中,直接贡献K" role="presentation" style="position: relative;">KKK。 2. 在一个环中,记环长为n" role="presentation" style="position: relative;">nnn,根据Pólya定理,其贡献为(205)1|G|∑g∈GKc(g原创 2018-01-24 21:55:26 · 922 阅读 · 0 评论 -
[2017纪中10-23]幸运值 组合数学 位运算
题目链接:https://jzoj.net/senior/#main/show/5414 显然,每一位是独立的。对每一位分别考虑贡献。 那么,对于每一位,这些数中哪些是1哪些是0不重要,重要的是有几个1几个0。 假设第x位有b个1,n-b个0,求选出奇数个(不超过k)1的方案数。显然等于sigma(C(b,i)*C(n-b,k-i)){1<=i<=k且i为奇数}。 预处理阶乘和阶乘逆元。注意原创 2017-10-23 20:59:32 · 415 阅读 · 0 评论 -
[BZOJ4870][SHOI2017]组合数问题 DP+矩阵快速幂
考虑这个式子的组合意义,表示从nk个物品中选取mod k=r个物品。递推式很显然咯,f[i][j]=f[i-1][j]+f[i-1][(j-1)%k]。矩阵快速幂加速一下就好了。 WA点:转移矩阵第i行是第j列和(j-1)%k列为一,所以第0行是第0列和k-1列,特别地,当k=1时,1*1矩阵中那个唯一的数应该是2,因为加了两次。 代码:#include<iostream>#include<c原创 2017-11-01 07:53:13 · 420 阅读 · 0 评论 -
[2017纪中10-24]合影 树型DP+组合数学
题面 因为每个人只有一个要求,假如A要求在B左边,A就向B连一条边的话,就是一个带环树。 当然,有环直接无解。所以剩下的是森林。 我们把子树看成一个子问题,假如知道了子树内部的答案如何转移到父亲。设当前转移X,X的所有子树都应该安排在X左边,也就是首先有size[X]-1个空来安排,每安排一个子树剩下的空就减一些。安排第一个儿子C(size[X]-1,size[son1])* ans[son1原创 2017-10-24 16:28:53 · 452 阅读 · 0 评论 -
[ARC087]F - Squirrel Migration 树+容斥原理
题面 先考虑每条边(u,v)(u,v)的松鼠通过量,最大显然为2∗min(sizeu,sizev)2*min(size_u,size_v),这里的sizesize指去掉这条边后的两个子树大小。所以我们分两种情况。 有两个重心:答案显然为(n2)!2(\frac{n}{2})!^2 有一个重心:我们设去掉重心后的子树为T1,T2,...,TrT_1,T_2,...,T_r;TT为它们的并。 要原创 2017-12-26 07:26:20 · 526 阅读 · 0 评论 -
[2018雅礼集训1-2]取石子 分类讨论+组合数学
题面 首先所有石子先对a+ba+b取模不影响结果。先设a<ba<b。 然后每堆石子数有以下几种情况。 1. [0,a)[0,a) 跟没有没区别。 2. [a,b)[a,b) 只有Alice能取,所以存在这样的Alice必胜。 3. [b,2a)[b,2a) 两个人都只能取一次,跟其奇偶性有关。 4. [2a,a+b)[2a,a+b) Alice一次就能把它取成情况2,然后Bob就gg了,原创 2018-01-02 22:54:40 · 798 阅读 · 2 评论 -
[BZOJ2159]Crash的文明世界 树型DP+第二类Striling数
听说形如xkx^k的都是Stirling数的套路?我怎么没听说过啊。。。 有个性质:xk=∑i=1kS(k,i)∗i!∗(xi)x^k=\sum_{i=1}^k S(k,i)*i!*{x\choose i} 考虑一个组合意义证明,就是给kk个格子染xx种色的方案数,等于先把这kk个格子分成若干集合,在选出相同个数的颜色,每个集合染同一种颜色的方案数。i!∗(xi)i!*{x\choose i}原创 2018-01-07 22:16:29 · 527 阅读 · 0 评论 -
[AGC005] F - Many Easy Problems 组合数学+快速数论变换
题面 首先一个联通块也是一棵树,点数=&quot; role=&quot;presentation&quot; style=&quot;position: relative;&quot;&gt;===边数+1&quot; role=&quot;presentation&quot; style=&quot;position: relative;&am原创 2018-01-24 21:35:05 · 591 阅读 · 0 评论 -
[联合集训6-11] 期望题
因为A1A1A_1是必须要减完的,所以我们只要求出对于Ai(i=2...n)Ai(i=2...n)A_i(i=2...n)在A−1A−1A-1减完前期望被减了多少次,最后加上A1A1A_1即可。因为期望的线性性,我们只需要分别考虑每一个AiAiA_i即可。 不妨以考虑A1,A2A1,A2A_1,A_2为例。我们可以把其看成二维平面上的一个点(A1,A2)(A1,A2)(A_1,A_2),每次分别...原创 2018-06-14 21:15:44 · 280 阅读 · 0 评论