随笔分类 -  数学--组合数

摘要:"传送门" 解题思路 暴力容斥复杂度太高,无法接受,考虑用$dp$。设$f(i)$表示从左上角开始不经过前面的阻断点,只经过$i$的阻断点。那么可以考虑容斥,用经过$i$的总方案数减去前面的阻断点到它的方案数,那么转移方程$$f(i)=C(x_i+y_i 2,x_i) \sum\limits_{j= 阅读全文
posted @ 2019-02-20 09:24 Monster_Qi 阅读(175) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 设$f[i][j]$表示填了$i$个白色,$j$种彩色的方案数,那么显然$j using namespace std; typedef long long LL; const int N=2005; const int MOD=1e9+7; int n,k,f[N][N],fa 阅读全文
posted @ 2019-02-18 22:06 Monster_Qi 阅读(324) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 前面的思路还是很好想的,就是要枚举最后一个$a$在哪出现算贡献,之后我先想的容斥,结果彻底偏了。。后来调了很久发现自己傻逼了,似乎不能容斥,终于走上正轨23333。首先可以写出一个$O(n^2)$的玩意,就是 $$ans=\sum\limits_{i=n}^{sum}C(n 1 阅读全文
posted @ 2019-02-18 21:58 Monster_Qi 阅读(300) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 首先将这个模型放到坐标轴上,$x$轴表示$1$,$y$轴表示$0$。问题就转化成了从$(0,0)$走到$(n,m)$,每次可以猜测向$x$轴或向$y$轴,而实际也有一条路线,求猜中的个数的期望。假设$n include include include using namespa 阅读全文
posted @ 2019-02-18 16:36 Monster_Qi 阅读(204) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 好神仙的思路,首先一种排列中按照最高点将左右分开,那么就是要在左边选出$a 1$个,右边选出$b 1$一个,这个如何计算呢?考虑第一类斯特林数,第一类斯特林数是将$n$个数分成$m$个圆排列的方案数,在这道题中,假如划分成圆排列之后,将圆排列从最大值处断开可以造成$1$的贡献。 阅读全文
posted @ 2019-02-18 11:52 Monster_Qi 阅读(105) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 似乎以前做过这道题的强化版?柿子还是很好推的,都是套路。 $$ ans=\sum\limits_{i=1}^nC(n,i) i^k $$ 用第二类斯特林数的$n^m=\sum\limits_{i=0}^mS(m,i) C(n,i) i!$这个式子把后面的$i^k$展开得 $$ 阅读全文
posted @ 2019-01-16 09:53 Monster_Qi 阅读(156) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 首先门其实形成了若干个环,每次可以将这个环内的所有门都打开。这样就可以想到第一类斯特林数,设$f[i][j]$表示把前$i$个数字划分成$j$个环的方案,$f[i][j]=(i 1)f[i 1][j]+f[i 1][j 1]$。然后注意还要把不能炸第一个这个条件考虑到。最后的答 阅读全文
posted @ 2018-12-05 14:58 Monster_Qi 阅读(102) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 因为总共是一个排列,那么确定了奇数项是哪些,偶数项就确定了。怎么判断奇数项是否合法呢,其实由于第三个限制,可以把这个数列看成一个括号序列,奇数项为$($,偶数项为$)$,那么合法方案数自然是卡特兰数了。。模数不是质数,而且$n^2$会超时,就只能用$ans=\frac{\dbi 阅读全文
posted @ 2018-12-04 21:28 Monster_Qi 阅读(198) 评论(0) 推荐(0)
摘要:关于组合数的一些总结 1,组合数的常见恒等式 (1) $\dbinom{n}{m}=\dbinom{n}{n m}$ (2)$\dbinom {n}{m}=\dbinom{n 1}m+\dbinom{n 1}{m 1}$ (3)$\sum\limits_{k=0}^{n}\dbinom{r+k}{k 阅读全文
posted @ 2018-12-04 20:48 Monster_Qi 阅读(882) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 首先因为$Pi$不是整数,所以不能直接递推。这时我们要思考这个式子的实际意义,其实$f(i)$就可以看做从$i$这个点,每次可以向右走$Pi$步或$1$步,走到[0.4)的方案数。这样的话我们就可以枚举一下走一步的次数$i$,然后走$Pi$步的次数就是$\left\lfloor 阅读全文
posted @ 2018-12-04 17:09 Monster_Qi 阅读(229) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 因为每次横纵坐标至少$+1$,所以可以枚举走的步数,枚举走的步数$i$后剩下的就是把$n 1$与$m 1$划分成$i$个有序正整数相加,所以用隔板法,$ans=\sum\limits_{i=1}^{min(n,m) 1} C(n 2,i 1) C(m 2,i 1)$ 代码 cp 阅读全文
posted @ 2018-12-04 08:04 Monster_Qi 阅读(146) 评论(0) 推荐(0)
摘要:题面 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的。序列恰好有 m 个数是稳定的 满足条件的序列可能很多,序列数对 10^9+7 取模。 Input 第一行一个数 T, 阅读全文
posted @ 2018-12-03 09:56 Monster_Qi 阅读(201) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 比较有意思的一道数学题。首先$n k^2$的做法比较好想,就是维护一个$x^i$这种东西,然后转移的时候用二项式定理拆开转移。然后有一个比较有意思的结论就是把求$x^i$这种东西变成组合数去求,具体来说就是$n^k=\sum\limits_{i=1}^k\dbinom{n}{i 阅读全文
posted @ 2018-11-23 20:39 Monster_Qi 阅读(165) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 组合数学。首先肯定是要先枚举位数,假如枚举到第$i$位。我们可以把第一位固定,然后那么后面的随意放$1$,个数就为$C_{i 1}^{k 1}$。然后每次枚举时如果方案$ n$就说明位数为$i$,否则就让$n C_{i 1}^{k 1}$,然后继续枚举下去。这样的话我们就确定了 阅读全文
posted @ 2018-10-23 21:55 Monster_Qi 阅读(197) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 $prufer$序,就是所有的不同的无根树,都可以转化为唯一的序列。做法就是每次从度数为$1$的点中选出一个字典序最小的,把这个点删掉,并把这个点相连的节点加入序列,直到只剩两个节点。然后这个东西有一个显然的性质就是所有点会在序列中出现这个点的度数$ 1$次,这个性质有一个推论 阅读全文
posted @ 2018-10-23 21:00 Monster_Qi 阅读(186) 评论(0) 推荐(0)
摘要:对于小球放盒子问题,可分为以下的八种情况。 $1、$盒子相同,球相同,不允许空。 这个其实就相当于整数划分问题,就是把球看做数字,把盒子看做每一份。设$f[i][j]$为考虑了前$i$个,分成了$j$份,转移方程为: $$ f[i][j]=f[i 1][j 1]+f[i j][j] $$ $2、$盒 阅读全文
posted @ 2018-10-23 19:53 Monster_Qi 阅读(4219) 评论(3) 推荐(0)
摘要:解题思路 比较简单的题,用二项式定理即可。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> using namespace std; const int MAXN = 10 阅读全文
posted @ 2018-10-09 21:54 Monster_Qi 阅读(157) 评论(0) 推荐(0)
摘要:题目背景终于解出了dm同学的难题,dm同学同意帮v神联络。可dm同学有个习惯,就是联络同学的时候喜欢分组联络,而且分组的方式也很特别,要求第i组的的人数必须大于他指定的个数ci。在dm同学联络的时候,v神在想,按照dm同学的规则一共可以有多少种方案呢?他想啊... 阅读全文
posted @ 2018-08-15 21:44 Monster_Qi 阅读(134) 评论(0) 推荐(0)
摘要:Time Limit: 10 Sec Memory Limit: 128 MB Submit: 2067 Solved: 1273 [Submit][Status][Discuss] Description给定一个nxm的网格,请计算三点都在格点上的三角... 阅读全文
posted @ 2018-07-04 10:51 Monster_Qi 阅读(117) 评论(0) 推荐(0)