![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
组合数
goto_1600
我何来寂寞,哪有寂寞可言。
展开
-
组合数 Counting Arrays
题意:求一长度为y乘积为x的方案数,允许出现负数。 解题思路:我们先处理正数的,把x分解质因数,然后枚举每个质因数的次数,考虑把他们放进y个位置的方案数,就好比是将d个相同球放进y个位置,位置可以为空,为空就不好做,我们往每个位置都放一个球,问题就转变为将d+y个球放进y个位置,且位置不空,用隔板法很好做。由于乘法原理,将每个质因数的方案数乘起来,然后就是负数的情况,负数情况=(C(2,y)+C(4,y)±–+C(k,y))和正数加在一起就是2的y-1次。 ...原创 2020-09-10 14:41:13 · 461 阅读 · 0 评论 -
Count The Blocks
题意:长度最大为i的块,块指的是里面数字相同并且不能向左右延伸。 求长度为n的每个长度块的个数。 解题报告: 看了大佬的思路,发现是一个组合数的问题,我们通过仔细观察,总长度为n 长度为n的块 是固定的 是10个,如000000,111111,当i<n的时候就是一个组合数的问题了,当块不在中间的时候即在两边的时候,那么块内的数字有10种选择,与块相邻的数有9种选择,别的位置可以随便选即10^(10-i-1),由于左右都可以 那么还要再乘以2。 第二种在中间的时候,两边相邻的数都有9种 ,别的位置随便.原创 2020-09-03 20:44:28 · 524 阅读 · 0 评论