灵感-1

之前想到了一道题目:给定n,m,表示有n个石子,每次取1到m个,最后取完次数为奇数次的方案总数(纯数学解决)。和同学讨论后,被同学解决了(他好厉害。。。。),在此引用他的思路。

约定:\(\binom{n}{m}=C_n^m\),是组合数另一种写法。

\(q(n,0/1)\) 表示在 \(n\) 个球中选任意个球,其中选的球的个数是奇数/偶数的方案数。则 \(q(n,0/1)=2^{n-1}\),即前 \(n-1\) 个球可以任意选,最后一个球的状态可以直接根据前 \(n-1\) 个球选择个数的奇偶性决定,特判一下 \(n \le 0\) 的情况。

\(n\) 个球分成 \(m\) 份且每份非空,没有个数上限的方案数是 \(\binom{n-1}{m-1}\)。(插板法可得,上网搜也能搜到)

\(O(n^2)\)

考虑枚举取石子的出现次数奇数 \(i\),并且容斥,强制钦定 \(i\) 次中哪 \(j\) 次选择石子个数 \(>m\),则将这 \(j\) 次先减去 \(m\),视为它们已经取了 \(m\) 个,再将剩下的 \(n-m \times j\) 个石子分给 \(i\) 次,则答案是:

\[\sum\limits_{i=1}^n\sum\limits_{j=0}^i (-1)^j \times \binom{i}{j} \times \binom{n-m \times j -1}{i-1} \]

\(O(n)\)

\(i,j\) 的枚举顺序交换,并且将 \(\binom{i}{j} 改成 \binom{i-1}{j-1}+\binom{i-1}{j}\),则原式为:

\[\sum\limits_{j=1}^n(-1)^j \times \sum\limits_{i=j}^n [\binom{i-1}{j-1}+\binom{i-1}{j}] \times \binom{n-m \times j -1}{i-1} \]

\[\sum\limits_{j=0}^n(-1)^j \times [\sum\limits_{i=j}^n \binom{i-1}{j-1} \times \binom{n-m \times j -1}{i-1}+\sum\limits_{i=j}^n \binom{i-1}{j} \times \binom{n-m \times j -1}{i-1}] \]

考虑枚举 \(j\),将 \(n-m \times j -1\) 换成 \(k\),那么现在只需要考虑形如 \(\sum\limits_{i=j}^n \binom{i-1}{j} \times \binom{k}{i-1}\) 的形式。

考虑将 \(\sum\) 右边的式子重新理解一下,就是在 \(k\) 个球中选择 \(i-1\) 个数写上 \(1\),并且再在这 \(i-1\) 个球中选择 \(j\) 个球写上 \(2\),其中 \(i\) 多大都可以,只要是奇数。

那么我们可以直接指定这 \(k\) 个球中哪些写了 \(2\),再在剩下来的球中任意涂上 \(1\),并且满足写了数字的球的个数是 \(i-1\),即有偶数个球写了数字,那么方案数就是 \(\binom{k}{j} \times q(k-j,j\%2)\)

那么最终式子就是:

\[\sum\limits_{j=0}^n (-1)^j \times [\binom{k}{j-1} \times q(k-j+1,(j-1)\%2)+\binom{k}{j}\times q(k-j,j\%2)] \]

posted @ 2021-01-02 11:37  fallingdust  阅读(121)  评论(0编辑  收藏  举报