摘要: "传送门" 解题思路 设$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 阅读(319) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 前面的思路还是很好想的,就是要枚举最后一个$a$在哪出现算贡献,之后我先想的容斥,结果彻底偏了。。后来调了很久发现自己傻逼了,似乎不能容斥,终于走上正轨23333。首先可以写出一个$O(n^2)$的玩意,就是 $$ans=\sum\limits_{i=n}^{sum}C(n 1 阅读全文
posted @ 2019-02-18 21:58 Monster_Qi 阅读(284) 评论(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 阅读(192) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 好神仙的思路,首先一种排列中按照最高点将左右分开,那么就是要在左边选出$a 1$个,右边选出$b 1$一个,这个如何计算呢?考虑第一类斯特林数,第一类斯特林数是将$n$个数分成$m$个圆排列的方案数,在这道题中,假如划分成圆排列之后,将圆排列从最大值处断开可以造成$1$的贡献。 阅读全文
posted @ 2019-02-18 11:52 Monster_Qi 阅读(99) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先所有物品是一定要用完的,那么可以按照物品考虑,就是把每种物品分给$n$个人,每个人分得非负整数,可以用隔板法计算。设物品有$m$个,方案数为$C(n+m 1,n 1)$。但这样会有人一个也分不到的情况,就容斥一下。 代码 cpp include include includ 阅读全文
posted @ 2019-02-18 10:47 Monster_Qi 阅读(136) 评论(0) 推荐(0) 编辑
摘要: [传送门[(http://www.51nod.com/Challenge/Problem.html ! problemId=1518) 解题思路 直接算不好算,考虑容斥,但并不能把行和列一起加进去容斥,这会使时间复杂度非常高,那么就考虑枚举行后$dp$。设$f[i]$表示存在$i$列有线,任意一行无 阅读全文
posted @ 2019-02-18 09:36 Monster_Qi 阅读(353) 评论(0) 推荐(0) 编辑