![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
组合数学
文章平均质量分 75
qq_43520313
这个作者很懒,什么都没留下…
展开
-
frogs
https://blog.csdn.net/qingshui23/article/details/73091006原创 2021-03-10 21:39:15 · 119 阅读 · 0 评论 -
第一类斯特林数·行
题目求xn‾=∑i=0n[ni]xix^{\overline{n}}=\sum_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix}x^ixn=i=0∑n[ni]xi在取模modmodmod意义下思路x2k‾=xk‾(x+k)k‾x^{\overline{2k}}=x^{\overline{k}}(x+k)^{\overline{k}}x2k=xk(x+k)k。假设知道xk‾x^{\overline{k}}xk就能快速求出(x+k)k‾(x+k)^{\over原创 2021-03-30 22:35:44 · 113 阅读 · 0 评论 -
Biological Software Utilities
题目https://codeforces.com/gym/102956/problem/G给一个nnn,问有多少棵nnn个节点的树满足完美匹配。思路首先两两配对,nnn一定是偶数。另外每棵树只对应一种匹配方式,因为树的叶子节点一定选,选完后把多余的的边和点删掉,一直下去,这样每次选方案是唯一的。所以从配对方式考虑,那么nnn个点两两配对的方案数是n!2n2n2!\dfrac{n!}{2^{\frac{n}{2}}\frac{n}{2}!}22n2n!n!然后每一对节点之间随意连边构成树原创 2021-03-22 15:06:43 · 273 阅读 · 0 评论 -
着色方案
题目:https://ac.nowcoder.com/acm/problem/14604有nnn个木块,从左到右排成一排,你有kkk种颜色,每种颜色的可以涂cic_ici个木块,所有的颜色正好够涂所有的木块,即c1+c2+...+ck=nc_1+c_2+...+c_k=nc1+c2+...+ck=n。涂色时要求任意两块相邻木块不能同色,请统计出不同着色方案的总数。两种着色方案是不同的当且仅当两种方案至少有一个位置的木块颜色是不同的。思路:参考题目https://blog.csdn.net/原创 2020-11-17 20:35:39 · 258 阅读 · 0 评论 -
组合数学常用公式
常用公式k(rk)=r(r−1k−1)(rk)=(r−1k)+(r−1k−1)(rk)=(−1)k(k−r−1k)(rm)(mk)=(rk)(r−km−k)∑k≤n(r+kk)=(r+n+1n)∑k=0n(km)=(n+1m+1)n,m≥0\begin{aligned}k{r\choose k}&=r{r-1\choose k-1}\\{r\choose k}&={r-1\choose k}+{r-1\choose k-1}\\{r\choose k}&=(-1)^k{k-原创 2020-11-14 19:14:06 · 286 阅读 · 0 评论 -
整数划分 V2
题目:将NNN分为若干个整数的和,有多少种不同的划分方式,例如:n=4n = 4n=4,{4}{1,3}{2,2}{1,1,2}{1,1,1,1}\{4\} \{1,3\} \{2,2\} \{1,1,2\} \{1,1,1,1\}{4}{1,3}{2,2}{1,1,2}{1,1,1,1},共555种。由于数据较大,输出mod 109+7mod\;10^9 + 7mod109+7的结果即可。思路:参考问题分成两部分计算...原创 2020-11-08 21:05:24 · 77 阅读 · 0 评论 -
Sum of Powers
题目:https://csacademy.com/contest/round-32/task/sum-of-powers/给定NNN,MMM,KKK,考虑所有的多重子集{a1,a2,a3...ak}\{a_1,a_2,a_3...a_k\}{a1,a2,a3...ak},满足a1+a2+...+ak=Na_1+a_2+...+a_k=Na1+a2+...+ak=N,求所有的多重子集的a1M+a2M+...akMa_1^M+a_2^M+...a_k^Ma1M+a2M+...akM。思原创 2020-11-08 10:45:14 · 235 阅读 · 0 评论 -
整数划分
** 题目:**http://www.51nod.com/Challenge/Problem.html#problemId=1201将NNN分为若干个不同整数的和,有多少种不同的划分方式,例如:n=6n = 6n=6,{6}{1,5}{2,4}{1,2,3}\{6\} \{1,5\} \{2,4\} \{1,2,3\}{6}{1,5}{2,4}{1,2,3},共444种。由于数据较大,输出mod 109+7mod\;10^9 + 7mod109+7的结果即可。思路:https://blog.cs原创 2020-11-08 09:41:18 · 166 阅读 · 0 评论 -
「2017 山东一轮集训 Day7」逆序对
题目:https://loj.ac/problem/6077给定n,kn,kn,k ,请求出长度为nnn的逆序对数恰好为kkk的排列的个数。答案对109+710^9+7109+7取模。思路1:设aia_iai为数字iii对逆序数的贡献,则0≤ai≤i−10\le a_i\le i-10≤ai≤i−1。并且只要所有aia_iai满足该条件,都一定能构造出唯一的排列。所以问题变成有多少方案使得∑i=1nai=k,0≤ai≤i−1\sum_{i=1}^{n}a_i=k,0\le a_i\le i-原创 2020-11-07 21:02:05 · 230 阅读 · 0 评论 -
背包方案数
题目:有nnn种物品,每种物品的体积为viv_ivi,有cic_ici个,问放入容量为mmm的背包有多少种方案。思路:除了可以用类似单调队列来维护决策之外还可以用容斥。设f(i,j)f(i,j)f(i,j)表示前iii个物品凑成体积为jjj的方案数,则有f(i,j)=f(i−1,j)+f(i,j−vi)−f(i−1,j−(ci+1)vi)f(i,j)=f(i-1,j)+f(i,j-v_i)-f(i-1,j-(c_i+1)v_i)f(i,j)=f(i−1,j)+f(i,j−vi)−f(i−原创 2020-11-06 19:11:04 · 67 阅读 · 0 评论 -
组合数学
题目:有nnn种球,第iii种球有aia_iai个。有kkk个盒子,每种球必须恰好放入bib_ibi个盒子里且每个盒子只能放同一种颜色的球。∑i=1nbi=k\sum_{i=1}^{n}b_i=k∑i=1nbi=k问有多少种方法。思路:ans=k!∏i=1nbi!∏i=1n(ai−1bi−1)ans=\frac{k!}{\prod_{i=1}^{n}b_i!}\prod_{i=1}^{n}{a_i-1\choose b_i-1}ans=∏i=1nbi!k!i=1∏n(bi−1ai原创 2020-11-02 21:18:42 · 200 阅读 · 0 评论 -
布置会场(II)
题目:https://ac.nowcoder.com/acm/problem/14351小ddd接到了一个布置会场的任务。他需要将贵宾观众席的椅子排成一排,一共需要NNN个。上级领导指示,他只能使用两种椅子。(AAA类型和BBB类型)并且假设每种椅子的数量都是无限的。而其如果想要摆置一个BBB类型的椅子,对应就需要必须有连续两个一起布置。换句话说,就是如果出现了BBB类型的椅子,其必须且只有两个连着BBB类型的椅子。小d突然想知道对应NNN个椅子排成一列,他能够有多少种布置的方式。思路:设f(i)f原创 2020-11-02 19:38:20 · 323 阅读 · 0 评论 -
食物
题目:BZOJ3028BZOJ3028BZOJ3028一个人要带nnn个物品,共有888种物品,每种的限制分别如下:偶数个,000或111个,000或111或222个,奇数个,444的倍数个,000或111或222或333个,000或111个,333的倍数个。求方案数。思路:对每个物品构造生成函数,然后相乘11−x2∗(1+x)∗1−x31−x∗x1−x2∗11−x41−x41−x∗(1+x)∗11−x3=x(1−x)4\begin{aligned}&\frac{1}{1-x^2}*(原创 2020-10-26 22:18:43 · 151 阅读 · 0 评论 -
白兔的刁难
题目:https://ac.nowcoder.com/acm/problem/15254?&headNav=acm给你nnn,kkk,求∀0≤t≤k−1\forall 0\le t\le k-1∀0≤t≤k−1st=[∑k∣i,0≤i+t≤n(ni+t)] mod 998244353s_t=\Big[\sum_{k|i,0\le i+t\le n}{n\choose i+t}\Big]\;mod\;998244353st=[k∣i,0≤i+t≤n∑(i+tn)]mod998244原创 2020-10-25 21:50:55 · 97 阅读 · 0 评论 -
单位根反演
单位根反演[n∣k]=1n∑i=0n−1ωnki[n|k]=\frac{1}{n}\sum_{i=0}^{n-1}\omega^{ki}_n[n∣k]=n1i=0∑n−1ωnki证明当n∣kn|kn∣k时,设k=npk=npk=np,则1n∑i=0n−1ωnnpi mod n=1n∑i=0n−1ωn0=1\frac{1}{n}\sum_{i=0}^{n-1}\omega^{npi\;mod\;n}_n=\frac{1}{n}\sum_{i=0}^{n-1}\omega^0_n=1n原创 2020-10-24 20:27:21 · 171 阅读 · 0 评论 -
LJJ 学二项式定理
题目:https://loj.ac/problem/6485给定n,s,a0,a1,a2,a3n,s,a_0,a_1,a_2,a_3n,s,a0,a1,a2,a3,求[∑i=0n(ni)siai mod 4] mod 99824453\Big[\sum_{i=0}^{n}{n\choose i}s^ia_{i\;mod\;4}\Big]\;mod\; 99824453[i=0∑n(in)siaimod4]mod99824453思路:单位根反演[n∣k]=1n∑i=0n原创 2020-10-24 20:17:28 · 191 阅读 · 0 评论 -
队列重排
题目:https://ac.nowcoder.com/acm/problem/15614有n(n≤500000)n(n≤500000)n(n≤500000)个人排成一列,把他们解散后重排,使得"重排后前方" 跟"原排列前方" 一样的人不超过k(k<n)k(k<n)k(k<n)个,问有几种方法数,答案请mod(109+7)mod(10^9+7)mod(109+7)输出。举例来说,有五个人编号为1∼51\sim51∼5间的整数,最初的排列由前至后依序为1,2,3,4,51, 2, 3, 4原创 2020-10-22 21:48:30 · 362 阅读 · 0 评论 -
箱庭的股市
题目:https://ac.nowcoder.com/acm/problem/15550A[0][0]=pA[0][0]=pA[0][0]=p,且A[i][j]={A[i][j−1]i=0,0<j<mmax0≤k≤j{A[i−1][k]+∑l=k+1jA[i−1][l]j−k}1≤i,0≤j<mA[i][j]=\begin{cases}A[i][j-1]\quad i=0,0<j<m\\\max\limits_{0\le k\le j}\{A[i-1][k]+\s原创 2020-10-22 21:05:54 · 92 阅读 · 0 评论 -
造一造
题目:https://ac.nowcoder.com/acm/problem/15077每次你可以入栈一个新元素或者当栈非空时出栈一个元素,nnn个元素必须依次入栈,而WYFWYFWYF希望其中第mmm个元素入栈之后,栈中恰好有kkk个元素,现在他想知道一共有多少种入栈出栈顺序满足这个条件。思路:...原创 2020-10-21 22:17:19 · 143 阅读 · 0 评论 -
卡特兰数
有一个长度为n+mn+mn+m的010101序列,其中111有nnn个,000有mmm个,要求对于任意的整数k∈[1,2n]k\in [1,2n]k∈[1,2n],数列的前kkk个数中,111的个数不少于000。方案数为(n+mn)−(n+mn+1)=(n+mn)n+1−mn+1{n+m\choose n}-{n+m\choose n+1}={n+m\choose n}\frac{n+1-m}{n+1}(nn+m)−(n+1n+m)=(nn+m)n+1n+1−m...原创 2020-10-21 21:00:02 · 63 阅读 · 0 评论 -
数学归纳法证明差分公式
nnn阶差分Δnf(x)=∑i=0n(−1)n−i(ni)f(x+i)\Delta^nf(x)=\sum_{i=0}^{n}(-1)^{n-i}{n\choose i}f(x+i)Δnf(x)=i=0∑n(−1)n−i(in)f(x+i)证明:首先当n=1n=1n=1时成立当i≤n−1i\le n-1i≤n−1时Δif(x)\Delta^if(x)Δif(x)都成立,则Δnf(x)=Δ(Δn−1f(x))=Δn−1f(x+1)−Δn−1f(x)=∑i=0n−1(−1)n−1−i(n−1i)原创 2020-10-19 20:39:51 · 1711 阅读 · 0 评论 -
白兔的式子
题目:https://ac.nowcoder.com/acm/problem/15251已知f(1,1)=1f(1,1)=1f(1,1)=1,有f(i,j)=a∗f(i−1,j)+b∗f(i−1,j−1)i≥2,1≤j≤if(i,j)=a*f(i-1,j)+b*f(i-1,j-1)\quad i\ge 2,1\le j\le if(i,j)=a∗f(i−1,j)+b∗f(i−1,j−1)i≥2,1≤j≤i对于其他情况f(i,j)=0f(i,j)=0f(i,j)=0有TTT组询问,每次给出a,b,原创 2020-10-15 21:06:10 · 103 阅读 · 0 评论 -
Problem F: Frightful Formula
题目:https://codeforces.com/gym/101480给一个n∗nn*nn∗n的矩阵,告诉第一行和第一列的数,并且有递推式F(i,j)=aF(i,j−1)+bF(i−1,j)+c2≤i,j≤nF(i,j)=aF(i,j-1)+bF(i-1,j)+c\quad 2\le i,j\le nF(i,j)=aF(i,j−1)+bF(i−1,j)+c2≤i,j≤n求F(n,n) mod 106+3F(n,n)\;mod\;10^6+3F(n,n)mod106+3,2≤n≤200000原创 2020-10-15 16:33:13 · 118 阅读 · 0 评论 -
BZOJ 3771
题目:BZOJ3771BZOJ 3771BZOJ3771有nnn个不同的数,可以取出一个,两个,或三个相加。问各种价值的方案数(顺序不同算一种)。思路:原创 2020-10-09 19:42:18 · 84 阅读 · 0 评论 -
BZOJ3456: 城市规划
题目:求nnn个点的无向连通图个数思路:设G(n)G(n)G(n)表示无向图的个数,F(n)F(n)F(n)表示nnn个点的无向图连通的个数,则G(n)=2(n2)枚举每条边选不选G(n)=∑i=1n(n−1i−1)F(i)⋅2(n−i2)枚举1号点所在连通块有几个点\begin{aligned}G(n)&=2^{{n\choose 2}}\quad 枚举每条边选不选\\G(n)&=\sum_{i=1}^{n}{n-1\choose i-1}F(i)\cdot2^{{n-i\c原创 2020-10-09 18:21:40 · 70 阅读 · 0 评论 -
生成函数证明Catalan数
C0=1C_0=1C0=1有递推式Cn=∑i=0n−1CiCn−1−iC_n=\sum_{i=0}^{n-1}C_iC_{n-1-i}Cn=i=0∑n−1CiCn−1−i设CnC_nCn的生成函数为A=∑i=0∞CixiA=\sum_{i=0}^{\infty}C_ix^iA=∑i=0∞Cixi,则A2=∑i=0∞∑j=0iCiCi−jxiA^2=\sum_{i=0}^{\infty}\sum_{j=0}^{i}C_iC_{i-j}x^iA2=i=0∑∞j=0∑iCiC原创 2020-09-30 21:48:08 · 958 阅读 · 0 评论 -
[JLOI2016]成绩比较
题目:GGG系共有NNN位同学,MMM门必修课。这NNN位同学的编号为000到N−1N-1N−1的整数,其中BBB神的编号为000号。这 MMM门必修课编号为000到M−1M−1M−1的整数。一位同学在必修课上可以获得的分数是111到 UiU_iUi中的一个整数。如果在每门课上AAA获得的成绩均小于等于BBB获得的成绩,则称AAA被BBB碾压。在BBB神的说法中,GGG系共有KKK位同学被他碾压(不包括他自己),而其他N−K−1N-K-1N−K−1位同学则没有被他碾压。DDD神查到了BBB神每门必修课原创 2020-09-25 21:55:58 · 160 阅读 · 0 评论 -
关于项链问题中旋转操作的置换群的循环节个数、长度的证明
对于nnn个元素的旋转有nnn个置换(01...n−112...0)(01...n−1n−10...n−2)...(01...n−101...n−1)\begin{pmatrix}0&1&...&n-1\\1&2&...&0\\\end{pmatrix}\begin{pmatrix}0&1&...&n-1\\n-1&0&...&n-2\\\end{pmatrix}...\begin{pmat原创 2020-09-10 12:15:19 · 287 阅读 · 0 评论 -
全排列的逆序数和
问1→n1\rightarrow n1→n的所有排列的逆序数的和解:设f(i,j)f(i,j)f(i,j)为1→i1\rightarrow i1→i逆序数为jjj的排列的方案数,sum(i)sum(i)sum(i)为111~iii的所有排列的逆序数的和。则有公式sum(i)=∑j=0(i2)f(i,j)∗j(1)sum(i)=\sum_{j=0}^{{i\choose 2}}f(i,j)*j\quad (1)sum(i)=∑j=0(2i)f(i,j)∗j(1)i!=∑j=0(i2)f(i,j)原创 2020-09-08 13:14:24 · 2368 阅读 · 1 评论 -
车的放置
题目:https://ac.nowcoder.com/acm/problem/50592有下面这样的一个网格棋盘,a,b,c,da,b,c,da,b,c,d表示了对应边长度,也就是对应格子数。当a=b=c=d=2a=b=c=d=2a=b=c=d=2时,对应下面这样一个棋盘:要在这个棋盘上放kkk个相互不攻击的车,也就是这kkk个车没有两个车在同一行,也没有两个车在同一列,问有多少种方案。同样只需要输出答案mod 105+3mod\ 10^5+3mod 105+3。思路1:原创 2020-09-05 21:49:30 · 307 阅读 · 0 评论 -
方程的解
题目:https://ac.nowcoder.com/acm/problem/50591给定x,nx,nx,n,求有多少组解满足不定方程a1+a2+...an=g(x)g(x)=xx mod 1000a_1+a_2+...a_n=g(x)\quad g(x)=x^x\ mod\;1000a1+a2+...an=g(x)g(x)=xx mod10002≤n≤min(100,g(x)),1≤x<2312\le n\le min(100,g(x)),1\le x<原创 2020-09-05 20:24:51 · 155 阅读 · 0 评论 -
Lucas定理
n=sp+r(0≤r<p)n=sp+r(0\le r<p)n=sp+r(0≤r<p),m=tp+q(0≤q<p)m=tp+q(0\le q<p)m=tp+q(0≤q<p)(nm)≡(st)(rq) mod p(p是素数){n\choose m}\equiv {s\choose t} {r\choose q}\ mod\;p(p是素数) (mn)≡(ts)(qr) modp(p是素数)证:(1+x)n=(1+x)sp+r=((1+x)p原创 2020-08-31 01:42:08 · 98 阅读 · 0 评论 -
[SDOI2010]古代猪文
题目:https://ac.nowcoder.com/acm/problem/20333求G∑d∣n(ni) mod 999911659G^{\sum_{d|n}{n\choose i}}\ mod\;999911659G∑d∣n(in) mod999911659思路:G∑d∣n(ni) mod p=G(∑d∣n(ni))mod p−1 mod p\begin{aligned}&G^{\sum_{d|n}{n\choose原创 2020-08-26 01:51:12 · 145 阅读 · 1 评论 -
Paint Box
题意:https://ac.nowcoder.com/acm/problem/13884把nnn个盒子用kkk种颜色涂,使得相邻颜色不同。思路:设kkk种颜色的集合为PPP,SSS为使用PPP中颜色涂盒子且满足相邻盒子颜色不同的方案的集合。∀i,j,i≠j⟺Bi≠Bj,Bi⊆P,∣Bi∣=k−1\forall i,j,i\neq j\Longleftrightarrow B_i\neq B_j,B_i\subseteq P,|B_i|=k-1∀i,j,i=j⟺Bi=Bj,Bi⊆P,∣B原创 2020-07-27 23:40:02 · 207 阅读 · 0 评论