此类问题通常被表示为:
给出 n n n元一次不定方程 ∑ i = 1 n x i = m \sum_{i=1}^{n}x_i=m ∑i=1nxi=m与 n n n个限制条件 x i ≤ b i x_i\leq b_i xi≤bi,其中 m , b i ∈ N m,b_i\in \N m,bi∈N。求该不定方程的非负整数解的个数。
解决此问题的通常思路是:将有限制的不定方程非负整数解计数转化为无限制的不定方程非负整数解计数。
无限制的不定方程非负整数解计数
先考虑如下问题:给出 n n n元一次不定方程 ∑ i = 1 n x i = m \sum_{i=1}^{n}x_i=m ∑i=1nxi=m,其中 m ∈ N m\in\N m∈N。求方程的非负整数解的个数。
在无限制的情况下,该方程非负整数解的个数为 C m + n − 1 n − 1 C_{m+n-1}^{n-1} Cm+n−1n−1。
证明:隔板法:假设有 n + m − 1 n+m-1 n+m−1个位置,选出其中 n − 1 n-1 n−1个位置作为隔板,其余 m m m个位置作为数字 1 1 1,这 n − 1 n-1 n−1个将 m m m个 1 1 1分成了 n n n段,每一段 1 1 1的个数即为两个隔板间代表的数。故 C m + n − 1 n − 1 C_{m+n-1}^{n-1} Cm+n−1n−1即为答案。
如何转化
有一个关于集合交并补差运算的公式:
∣ ⋂ i = 1 n S i ∣ = ∣ U ∣ − ∣ ⋃ i = 1 n ∁ U S i ∣ |\bigcap_{i=1}^{n}S_i|=|U|-|\bigcup_{i=1}^{n}\complement_US_{i}| ∣i=1⋂n