组合数学
文章平均质量分 64
_beginend
这个作者很懒,什么都没留下…
展开
-
【Codechef CLOWAY Future of draughts】【特征多项式+二项式反演】
题意给TTT张简单无向图。在每张图中选定一个标记点,每次选择若干个图(至少一个),把这些图中的点随机移向与其相连的一个点。若某个时刻当前状态与初始状态一致,就停止移动(也可以不停止)。每次询问给出l,r,kl,r,kl,r,k,问若对编号在[l,r][l,r][l,r]之间的图进行操作,有多少种可能的方案满足在kkk轮之前停止。T,ni≤50,k≤10000T,n_i\le 50,k\le 10000T,ni≤50,k≤10000分析可以先求出Gl,r,kG_{l, r, k}Gl,r,k表示对原创 2020-06-25 16:11:05 · 329 阅读 · 0 评论 -
【UOJ #424. 【集训队作业2018】count】【笛卡尔树+容斥原理】
题意设fA(l,r)f_A(l,r)fA(l,r)表示序列AAA中,A[l..r]A[l..r]A[l..r]中最大值的位置。若存在若干个最大值,则取最靠前的那一个。定义两个序列A,BA,BA,B同构,当且仅当两个序列长度相等,且对于任意l≤rl\le rl≤r都有fA(l,r)=fB(l,r)f_A(l,r)=f_B(l,r)fA(l,r)=fB(l,r)。问有多少个长度为nnn且不同构的序列,其中的元素为111到mmm中的整数,且每个整数在其中至少出现一次。n,m≤105n,m\le 10^5原创 2020-06-23 22:49:18 · 440 阅读 · 0 评论 -
【洛谷 P6620 [2020 年联考 A 卷] 组合数问题】【组合数学】
题意计算(∑k=0nf(k)xk(nk)) mod p(\sum_{k=0}^nf(k)x^k\binom{n}{k})\bmod p(k=0∑nf(k)xk(kn))modp其中f(k)f(k)f(k)是一个mmm次多项式a0+a1k+⋯+amkma_0+a_1k+\cdots+a_mk^ma0+a1k+⋯+amkm。n,x,p,ai≤109,m≤1000n,x,p,a_i\le 10^9, m\le 1000n,x,p,ai≤109,m≤1000分析注意到mmm很小,考虑把mmm放原创 2020-06-23 12:40:44 · 268 阅读 · 0 评论 -
【洛谷P5825 排列计数】【生成函数+二项式反演/欧拉数】
题意我们记一个排列PPP的升高为kkk当且仅当存在kkk个位置iii使得Pi<Pi+1P_i < P_{i+1}Pi<Pi+1。现在给定排列长度nnn,对于所有整数k∈[0,n]k\in [0,n]k∈[0,n],求有多少个排列的升高为kkk。n≤200000n\le 200000n≤200000做法一考虑钦定kkk个位置为<<<,其他位置不管。对...原创 2020-02-10 17:47:57 · 579 阅读 · 1 评论 -
Codeforces 960G Bandit Blues 第一类斯特林数+分治FFT
题意定义序列中的一个数为前缀最大值仅当其前面没有比他大的数,后缀最大值同理。问有多少个长度为n的排列满足前缀最大值数量恰好为a,后缀最大值数量恰好为b。 n,a,b≤105n,a,b≤105n,a,b\le10^5分析首先分析一下性质,排列中的最大值,也就是n必然是一个前缀最大值和后缀最大值,且前缀最大值一定在n的前面,后缀最大值一定在n的后面。 设s(i,j)s(i,j)s(...原创 2018-04-19 20:53:08 · 944 阅读 · 0 评论 -
Codeforces 961G Partitions 组合数学
题意有n个元素,每个元素有一个权值wiwiw_i。定义全集的一个子集SSS的权值w(S)=|S|∑i∈Swiw(S)=|S|∑i∈Swiw(S)=|S|\sum_{i\in S}w_i。当把全集划分为若干个集合时,定义一种划分的权值为每个集合的权值和。现在要求所有把全集划分成kkk个非空集合方案的权值和。 k≤n≤2∗105k≤n≤2∗105k\le n\le 2*10^5分析考...原创 2018-04-06 11:13:55 · 733 阅读 · 0 评论 -
bzoj 4671: 异或图 容斥原理+线性基+斯特林反演
题意定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中.现在给定 s 个结点数相同的图 G1…s, 设 S = {G1, G2, … , Gs}, 请问 S 有多少个子集的异或为一个连通图? 2≤n≤10,1≤s≤60.2≤n≤10,1≤s≤60. ...原创 2018-04-01 20:12:03 · 357 阅读 · 0 评论 -
Codeforces 932E Team Work 组合数学+动态规划
题意给定n和k,求∑ni=1Cin∗ik∑i=1nCni∗ik\sum_{i=1}^nC_n^i*i^k,取模。 n<=10^9,k<=5000分析这题有一种对二项式定理求k阶导的做法,但是好麻烦。 可以考虑到这个式子的组合意义,ikiki^k表示k个带标号球放到i个带标号盒子(可以有空盒)的方案,CinCniC_n^i看成从n个带标号盒子里选出i个的方案。 随便...原创 2018-02-22 16:49:52 · 575 阅读 · 1 评论 -
AtCoder Regular Contest 058 D - Iroha and a Grid 组合数学
题意有一个n*m的点阵,初始时你在左上角,其中最下面a行和最左边b列的交点位置,也就是总共有a∗ba∗ba*b个位置是不能走的。你每次只能向下或向右走问你走到点阵的右下角有多少种不同的方案。 n,m<=100000分析直接枚举从哪一个点跨出左上角大小为(n−a)∗b(n−a)∗b(n-a)*b的矩形即可。代码#include<iostream>...原创 2018-02-19 09:06:05 · 381 阅读 · 0 评论 -
AtCoder Regular Contest 096 E - Everything on It 第二类斯特林数+容斥原理
题意给出n,现在可以从[0,2n)[0,2n)[0,2^n)中随意选若干个出来,问有多少种方案满足对于[1,n][1,n][1,n]中的每一位二进制,都至少存在两个数使得这一位上是1。 n≤3000n≤3000n\le3000分析这题全场貌似也就十几个人AC,当然其中并不包括我。 很容易想到容斥。 一开始我的想法是枚举i和j,表示有i位全都是0,有j位只有1个1。然后枚举这j...原创 2018-04-21 22:28:23 · 405 阅读 · 0 评论 -
hdu 4651 Partition 五边形数定理
题意问将nnn分解成若干个可以相同的正整数的和的形式有多少种方案。多组数据。 T≤100,n≤105T≤100,n≤105T\le100,n\le10^5。分析五边形数定理裸题。代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring&...原创 2018-05-18 09:49:50 · 206 阅读 · 0 评论 -
uoj #273.【清华集训2016】你的生命已如风中残烛 组合数学
题意给你m个数,问有多少种排列方式使得每一个前缀和都不小于0。 m≤4∗106m≤4∗106m\le4*10^6分析我之所以这样子转化题目,是先让除了第m+1个0以外,每个数都减去1,这样的话前缀和表示的就是当前还能再抽几张卡。但因为第一张卡不消耗抽卡次数,所以要把每个前缀和都加上1。 我们考虑在最后面添加一个-1,那么现在问题就变成了有多少种排列使得除了最后一位以外其余前缀和都不...原创 2018-05-18 11:19:27 · 481 阅读 · 0 评论 -
LibreOJ #2320.「清华集训 2017」生成树计数 prufer序列+组合数学+分治FFT
题意有nnn个点,每个点有点权aiaia_i,定义一棵生成树TTT中第iii个点的度数为didid_i,那么该生成树的权值val(T)=(∏i=1nadiidmi)(∑i=1ndmi)val(T)=(∏i=1naididim)(∑i=1ndim)val(T)=(\prod_{i=1}^na_i^{d_i}d_i^m)(\sum_{i=1}^nd_i^m) 求所有生成树的价值的和,答案模998...原创 2018-06-18 21:55:44 · 976 阅读 · 0 评论 -
阶乘模大质数
前言现在才学这个的我可以说是很菜了。多项式除法给出一个nnn次多项式F(x)F(x)F(x)和一个mmm次多项式G(x)G(x)G(x),求一个n−mn-mn−m次多项式Q(x)Q(x)Q(x)和一个次数小于mmm的多项式R(x)R(x)R(x),使得F(x)=Q(x)G(x)+R(x)F(x)=Q(x)G(x)+R(x)F(x)=Q(x)G(x)+R(x)首先对于一个nnn次多项式F(x...原创 2019-07-13 22:24:06 · 1116 阅读 · 1 评论 -
bzoj 1697: [Usaco2007 Feb]Cow Sorting牛排序 数学
题意农夫JOHN准备把他的 N(1 <= N <= 10,000)头牛排队以便于行动。因为脾气大的牛有可能会捣乱,JOHN想把牛按脾气的大小排序。每一头牛的脾气都是一个在1到100,000之间的整数并且没有两头牛的脾气值相同。在排序过程中,JOHN 可以交换任意两头牛的位置。因为脾气大的牛不好移动,JOHN需要X+Y秒来交换脾气值为X和Y的两头牛。 请帮JOHN计算把所有牛排好序的最短时间。分析我们原创 2017-03-11 11:11:48 · 718 阅读 · 0 评论 -
【luogu P4916 魔力环】【Burnside引理+组合数学】
题意给出n,m,kn,m,kn,m,k,问有多少个长度为nnn的环,环上恰有mmm个黑珠子和n−mn-mn−m个白珠子,且不存在一段连续的黑珠子的长度超过kkk。两个环相等当且仅当他们循环同构。n,m,k≤105n,m,k\le10^5n,m,k≤105分析首先根据Burnside引理,设f(d)f(d)f(d)表示周期为ddd的合法序列数量,则ans=1n∑i=0n−1f(gcd(n,i...原创 2019-08-10 08:21:22 · 242 阅读 · 0 评论 -
【bzoj 3501: PA2008 Cliquers Strike Back】【贝尔数】
题意给出n,mn,mn,m,求mBn mod Pm^{B_n}\bmod PmBnmodP,其中P=999999599P=999999599P=999999599是个质数。同时P=2×13×5281×7283+1P=2×13×5281×7283+1P=2×13×5281×7283+1n,m≤1018n,m\le10^{...原创 2019-09-15 09:55:10 · 224 阅读 · 0 评论 -
51nod 1667 概率好题 组合数学+容斥原理
题意甲乙进行比赛。 他们各有k1,k2个集合[Li,Ri] 每次随机从他们拥有的每个集合中都取出一个数 S1=sigma甲取出的数,S2同理 若S1>S2甲胜 若S1=S2平局 否则乙胜 分别求出甲胜、平局、乙胜的概率。 (显然这个概率是有理数,记为p/q,则输出答案为(p/q)%(1e9+7))(逆元) 注意 多组数据 T分析思路比较巧妙。我们把甲的集合拆成L原创 2018-01-16 08:46:35 · 478 阅读 · 0 评论 -
bzoj 2142: 礼物(组合数取模终极版) 组合数学+中国剩余定理+exgcd
题意一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同)。由于方案数可能会很大,你只需要输出模P后的结果。 m原创 2017-04-10 21:51:04 · 757 阅读 · 0 评论 -
bzoj 2159: Crash 的文明世界 树形dp+第二类斯特林数+排列组合
题意给出一棵树和一个常数m,对于每一个i(1<=i<=n),求出∑nj=1dist(i,j)m∑j=1ndist(i,j)m\sum_{j=1}^ndist(i,j)^m。 n<=50000,k<=150分析首先有一个结论,就是xn=∑ni=1S(n,i)∗F(x,i)xn=∑i=1nS(n,i)∗F(x,i)x^n=\sum_{i=1}^nS(n,i)*...原创 2017-06-11 21:30:53 · 1254 阅读 · 0 评论 -
bzoj 1951: [Sdoi2010]古代猪文 费马小定理+中国剩余定理+lucas定理+快速幂
Description“在那山的那边海的那边有一群小肥猪。他们活泼又聪明,他们调皮又灵敏。他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国。猪王国地理位置偏僻,实施的是适应当时社会的自给自足的庄园经济,很少与外界联系,商贸活动就更少了。因此也很少有其他动物知道这样一个王国。 猪王国虽然不大,但是土地原创 2016-10-14 19:28:02 · 447 阅读 · 0 评论 -
bzoj 3505: [Cqoi2014]数三角形 排列组合+数学
题意给出一个n*m的网格图(也就是(n*1)*(m*1)个点),问有多少个在格点上的不同的三角形。 n,m<=1000分析看了题解才会做。很显然答案就是任意选三个点的方案数减去三点在同一直线上的方案数。 首先有一个结论,就是在(a,b)和(x,y)连成的线段(a>x,b>y)上有gcd(a-x,b-y)+1个格点,假设以这两个端点为两个端点,第三个端点在这条线段上,那么显然有gcd(a-x,b-原创 2016-12-21 20:31:13 · 916 阅读 · 0 评论 -
bzoj 4451: [Cerc2015]Frightful Formula 数学+排列组合
题意给你一个n*n矩阵的第一行和第一列,其余的数通过如下公式推出: F[i,j]=a*f[i,j-1]+b*f[i-1,j]+c 求f[n][n]%(10^6+3) 2<=n<=200000 其余的数大于等于0小于等于10^6 分析真是一道推式子的好题。。。假设c=0,那么我们就考虑矩阵第一行和第一列对答案的贡献。 设某个点(i,j)走到(n,n),要向上走x步,向右走y步,也就是原创 2017-04-06 10:21:08 · 748 阅读 · 0 评论 -
bzoj 4013: [HNOI2015]实验比较 树形dp+排列组合
题意链接分析这题光是题目都看了我五分钟。。。先用并查集把等号连接的两个并起来。 题目说明了这给的一定是一篇森林,那么我们只要加个虚根就变成一棵树了。 我们可以把等号看成是边,那么整个序列就被小于号分成了若干块。我们可以设f[i,j]表示节点i为根的子树排成的序列分成了j块的方案数。 枚举一个节点的两个儿子x和y,考虑如何把f[x]和f[y]合并起来。 枚举一个j和k,表示x子树的块数和y子树原创 2017-06-21 20:26:34 · 376 阅读 · 0 评论 -
bzoj 3462: DZY Loves Math II 动态规划+组合数
题意 2<=S<=2*10^6,1<=n<=10^18,1<=q<=10^5分析膜了题解,很好的一道题。首先不难发现一些性质:若有解则S一定不含平方因子且k不大于7。 因为n很大但S比较小,我们考虑对S进行处理。 这题的思路是这样的: 因为每一个p都要出现,我们先把n减去每一个p,这样就变成了每个p可以选择不出现。 设n=p1∗c1+p2∗c2+...+pk∗ckn=p_1*c_1+p_2原创 2017-10-09 08:51:31 · 646 阅读 · 0 评论 -
bzoj 3294: [Cqoi2011]放棋子 动态规划+排列组合
题意 输入第一行为两个整数n, m, c,即行数、列数和棋子的颜色数。第二行包含c个正整数,即每个颜色的棋子数。所有颜色的棋子总数保证不超过nm。 输出仅一行,即方案总数除以 1,000,000,009的余数。 N,M<=30 C<=10 总棋子数有大于250的情况分析因为每一行每一列都只能有一种棋子,我们就先考虑每行每列分别是哪种棋子,然后再乘上组合数即可。 设f[i,j,k]f[i,j,原创 2017-11-07 11:19:23 · 548 阅读 · 0 评论 -
bzoj 4487: [Jsoi2015]染色问题 组合数学+容斥原理
题意棋盘是一个n×m的矩形,分成n行m列共n*m个小方格。现在萌萌和南南有C种不同颜色的颜料,他们希望把棋盘用这些颜料染色,并满足以下规定: 1. 棋盘的每一个小方格既可以染色(染成C种颜色中的一种) ,也可以不染色。 2. 棋盘的每一行至少有一个小方格被染色。 3. 棋盘的每一列至少有一个小方格被染色。 4. 种颜色都在棋盘上出现至少一次。 请你求出满足要求的不同的染色原创 2017-12-26 20:57:29 · 1271 阅读 · 0 评论 -
51nod 1569 二项式系数的个数 kummer定理+数位dp
题意给定一个质数p和整数a,A。请计算有多少对CknC_n^k满足0≤k≤n≤A 且 CknC_n^k是 pap^a 的倍数。 答案比较大,对 10^9+7 取余再输出。 1≤p,a≤10^9, p 是质数,0≤A<10^1000分析知道kummer定理后直接数位dp就好了。 设f[i,j,0/1,0/1]表示有多少个数对(x,y)从高到低做到第i位,进位了j次,x+y的前i位是否卡着A的上界原创 2017-12-25 21:17:09 · 568 阅读 · 0 评论 -
bzoj 4591: [Shoi2015]超能粒子炮·改 Lucas定理+组合数学
题意曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改–一种可以发射威力更加强大的粒子流的神秘装置。超能粒子炮·改相比超能粒子炮,在威力上有了本质的提升。它有三个参数n,k。它会向编号为0到k的位置发射威力为C(n,k) mod 2333的粒子流。现在SHTSC给出了他的超能粒子炮·改的参数,让你求其发射的粒子流的威力之和模2333。 k<=n<=10^18,t<原创 2017-12-17 20:51:04 · 476 阅读 · 0 评论 -
51nod 1769 Clarke and math2 线性筛+数学
题意 1 ≤ n ≤ 500000, 1 ≤ k ≤ 10^1000000分析刚看题目的时候被这个k的大小吓到了。。。 你考虑枚举每个f(i)对g(j)的贡献,那么它们的系数显然只跟j/i有关,设为val(j/i)。考虑如何求出val[x]。 从i变到j的过程我们可以看做变化k-1次,每一次都乘上一个数,只要满足每个数乘起来是x的因数即可。 考虑x的每种素因数对val[x]的贡献。不妨设该种原创 2017-11-03 21:56:51 · 689 阅读 · 0 评论 -
bzoj 4403: 序列统计 lucas定理+组合数学
题意给定三个正整数N、L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量。输出答案对10^6+3取模的结果。 1≤N,L,R≤10^9,1≤T≤100,输入数据保证L≤R。分析一开始没想到把不降转为递增来求。 对于一个长度为n的不降序列,若我们把第i个数加上i,那么它就是一个递增序列。也就是说,长度为i且元素在[1,m]之间的不降序列数量就相当于元素在[1+1,m+n]之间原创 2017-10-21 08:14:49 · 490 阅读 · 0 评论