排列组合
fyc_kabuto
一个蒟蒻程序员
展开
-
各种排列组合奇怪的数的公式和推导
转师姐的一、排列(在乎顺序)全排列:P(n,n)=n!n个人都排队。第一个位置可以选n个,第二位置可以选n-1个,以此类推得: P(n,n)=n*(n-1)*…*3*2*1= n!部分排列:P(n,m)=n!/(n-m)!n个人,选m个出来排队,第一个位置可以选n个,…,最后一个可以选n-m+1个,以此类推得:P(n,m)=n*(n-1)*...*(n-m+1)=n!/转载 2017-07-13 10:34:29 · 5204 阅读 · 0 评论 -
cf869C The Intriguing Obsession
题解:因为太菜了,没想出正解。 容易发现,三行间两两是独立的,最后乘起来就好了。 而两两间其实不难算,昨晚一直想dp去了,于是荒废半小时。 直接组合数学:∑i=0min(n,m)CinCimi!\sum^{min(n,m)}_{i=0}C_n^iC_m^ii!最后乘起来。 好像不怎么难,但我太菜了。 code:#include<cstdio>#include<cstdlib>#incl原创 2017-10-07 10:09:25 · 510 阅读 · 0 评论 -
bzoj 4806: 炮
同bzoj1801改个模数。 code:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#define LL long longusing namespace std;const LL mod=999983;LL n,m,c[150][3],f[110][110][110];void pre()原创 2017-09-01 20:56:58 · 269 阅读 · 0 评论 -
bzoj 1801: [Ahoi2009]chess 中国象棋
题意:在n*m的棋盘中放炮,使得他们不能相互攻击的方案数。题解:也就是说同一行/列不能有超过两个炮。 似曾相识的感觉(其实是我SB没想到更简单的状态表示) 于是我把他当成二分图,同一个点至多匹配两次,dp统计方案数。 f[i][j][k]f[i][j][k]表示左边用了i个点,右边j个点匹配了两次,k个点匹配了一次。 后来发现其实等价于前i行,j个列有两个炮,k个列一个炮。 瞎转移就好了,原创 2017-09-01 20:55:05 · 338 阅读 · 0 评论 -
一个有用的定理
今天%popoqqq的时候看到了一个他不屑于证的定理 ∑i=偶数C(i,n)=∑i=偶数C(i,n)(n不等于0)\sum_{i=偶数} C(i,n) = \sum_{i=偶数} C(i,n) (n不等于0) 怎么证明呢?(开启口胡模式)第一种情况:n为奇数时显然(无论选偶数/奇数,剩下的一定是奇数/偶数)第二种情况:n为偶数且n/2为奇数。 那我们先考虑n/2的情况,即在n的一半选数。原创 2017-08-09 11:09:54 · 306 阅读 · 0 评论 -
bzoj 2839: 集合计数
容斥+组合数学好题原创 2018-01-06 09:04:05 · 381 阅读 · 0 评论 -
bzoj 5190: [Usaco2018 Jan]Stamp Painting
题意:给出n,m,kn,m,kn,m,k问由m种颜色组成长度为n的序列,且至少有长度>=k>=k>=k的一段颜色相同的方案数。题解:无脑暴力容斥非正解 枚举有多少段颜色,然后容斥即可: ans=∑i=1n∑j=1i(−1)j+1Ci−1n−kj−1∗Cji∗m∗(m−1)i−1ans=∑i=1n∑j=1i(−1)j+1Cn−kj−1i−1∗Cij∗m∗(m−1)i−...原创 2018-03-07 11:15:58 · 309 阅读 · 0 评论 -
bzoj E. Bash Plays with Functions
题意:设f0,n=f0,n=f_{0,n}=将n分成两个互质的数的积的方案数。 fr,n=∑fr−1,u+fr−1,v2(uv=n)fr,n=∑fr−1,u+fr−1,v2(uv=n)f_{r,n}=\sum_\frac{f_{r-1,u}+f_{r-1,v}}{2}(uv=n) 多组询问,每次给出r,nr,nr,n,求fr,nfr,nf_{r,n}对109+7109+710^9+7取模。...原创 2018-03-15 21:12:59 · 210 阅读 · 0 评论 -
1251 Fox序列的数量
题意:一个单调非递减序列被称为 Fox 序列,当且仅当序列里边出现频率最高的元素是唯一的。 例如:序列 1, 1, 2, 3, 4 是一个 Fox 序列, 因为它符合定义。出现频率最高的元素是1,它出现了2次,并且没有别的元素出现的次数为2。 但是序列 1, 1, 2, 2 不是 Fox 序列, 因为1 和 2 都出现了2次,不是唯一的。 注意: 序列 2, 1, 1 不是 Fox 序列...原创 2018-03-06 08:47:29 · 229 阅读 · 0 评论 -
bzoj 1227: [SDOI2009]虔诚的墓主人
扫描线原创 2017-10-10 11:14:31 · 315 阅读 · 0 评论 -
bzoj 1211: [HNOI2004]树的计数
涨姿势原创 2017-10-10 17:11:59 · 310 阅读 · 0 评论 -
bzoj 4361: isn
dp+树状数组+容斥原创 2017-12-18 21:35:34 · 322 阅读 · 0 评论 -
bzoj 1005: [HNOI2008]明明的烦恼
prufer序列原创 2017-10-12 07:11:40 · 260 阅读 · 0 评论 -
bzoj 4315: queue
组合数学原创 2017-11-08 18:11:43 · 315 阅读 · 0 评论 -
bzoj 4465: [Jsoi2013]游戏中的学问
dp+组合数学原创 2017-11-23 13:37:11 · 682 阅读 · 0 评论 -
bzoj 4710: [Jsoi2011]分特产
组合数学+容斥原创 2017-12-20 13:44:15 · 317 阅读 · 0 评论 -
bzoj 1272: [BeiJingWc2008]Gate Of Babylon
容斥原创 2017-12-15 12:38:58 · 252 阅读 · 0 评论 -
bzoj 2142: 礼物
扩展lucas原创 2017-12-16 09:56:59 · 279 阅读 · 0 评论 -
bzoj 3129: [Sdoi2013]方程
组合数学+lucas+容斥原创 2017-12-17 16:35:04 · 217 阅读 · 0 评论 -
bzoj 3622: 已经没有什么好害怕的了
dp+组合数学+容斥好题原创 2017-12-18 09:56:39 · 281 阅读 · 0 评论 -
AtCoder Grand Contest 002 F - Leftmost Ball
题意:有 n 种颜色的球,颜色分别标号为 1 到 n,每种颜色的球都有 k 个。这 nk 个球从左到右排成一个序列,接着把每种颜色最靠左的球涂成颜色 0。问有多少种最终可能得到的颜色序列。题解:思路不错,关键是要转化模型。 先忽略颜色,最后再乘个阶乘。 那么一个合法的序列相当于上图的拓扑序,那么就转成了一个拓扑序的计数问题。 考虑构造这个序列,就是说从后往前填如节点,定义f[...原创 2018-04-17 15:42:34 · 306 阅读 · 0 评论