将n个相同元素分为k类问题,有两种类型。类型之一为可空分配(每个类别至少0个元素),另外一个类型是不空分配(每个类别至少1个元素)。针对这两类问题,最为直观、容易理解的方法是隔板法。同时,因为这个问题可以等价于多维线性方程的解的个数问题,这个方法也可以应用于多维线性方程解的个数的计算。
可空分配等价于求方程 的非负整数解()个数,而不空分配等价于求方程的正整数解()个数。对于这两类问题采用隔板法的直观理解是这样的:
首先,从相对简单的非空分配开始。非空分配等价于将n个相同的小球分成k堆,每一堆都至少有一个元素。分类工作等价于在n各小球之间加入分隔板,分k类即选择k-1个隔板的位置。n个小球有n+1个可插入的空位,但因为有非空要求,故n个小球的首、尾位置不能设置隔板,所以k个隔板有n-1个位置可选,那么因此分类的方法有种。
其次,可空分配相对比较难以直观理解,但可以设法转化为不空分配。因为可空分配等价于求方程的非负整数解()个数,若是将的定义域做一个等价的变化,则可以这样,即:
因此,和为n的可空分配等价于和为n+k的非空分配,等价于将n+k个相同的小球分成k堆,每一堆都至少有一个元素。那么因此分类的方法有种。
最后,这个解法还有更加高级的应用,即n个相同元素分为k类且每个类中元素的个数还有要求的情况。这类问题可以先将各类中所要求的个数对号入座,对剩余的元素再采用隔板法进行解决。因为隔板法解决非空配合相当于给每个类中至少一个元素,若是要求各类至少有个元素,等价于先将个元素先排入对应的类,再剩余元素给每个类中至少一个元素。