读懂题意过后,我们会发现,难点就是在于最高位的选取,因为最高位的组成有w%k位,并不是简单的k位。
不过我们可以分开做,我们先算小于等于\({ {w} \over {k}}\)的选取方案,也就是说除去最高位的。相当于就是从1~\(2^k\)-1里选i个数,总方案数为
\(\sum_{i=2}^{w/k} C_{2^{k}-1}^{i}\)
如果考虑进最高位,首位的范围小于\(2^{w mod k}\),由于要使右边的数都大于它,相当于就是从剩下的\(2^k-i\)个可选取的数中再选\({ {w} \over {k}}\)个,即方案数为
\(\sum_{i=1}^{2^{w mod k}-1} C_{2^{k}-i-1}^{w/k}\)
其实上面的式子还不够完美,在写组合数公式时,往往要考虑到\(C_{a}^{b}\)中b绝对不能大于a,因此还要取个m