You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带变量约束的Stars and Bars问题:求方程$a_1 + a_2 + a_3 +\dots+a_k=2021$的解数(含k的表达式)

带变量约束的Stars and Bars问题:求方程$a_1 + a_2 + a_3 +\dots+a_k=2021$的解数(含k的表达式)

你第一步的变量替换完全正确!接下来我们需要用容斥原理来处理每个$b_i≤8$的上限约束,这是带上下限的Stars and Bars问题的标准解法,我一步步给你理清楚:

首先明确解存在的前提条件

  • 非负解要求$2021 -k ≥0$,也就是$k≤2021$,否则方程右边是负数,没有非负整数解。
  • 每个$b_i≤8$,所以所有$b_i$的总和最大为$8k$,因此必须满足$2021 -k ≤8k$,化简得$9k≥2021$,即$k≥⌈2021/9⌉=225$(因为$9×224=2016<2021$,$9×225=2025≥2021$)。
  • 结论:当$k<225$或$k>2021$时,方程没有符合条件的解,解数为0。

当$225≤k≤2021$时,用容斥原理计算解数

我们基于无约束的Stars and Bars结果,逐步修正违反上限约束的情况:

  1. 无约束的非负解数:
    根据Stars and Bars公式,方程$b_1+b_2+\dots+b_k=m$的非负整数解数为$\binom{m+k-1}{k-1}$。这里$m=2021 -k$,代入后得到:
    $$\binom{(2021 -k)+k-1}{k-1}=\binom{2020}{k-1}$$
  2. 容斥修正违反约束的解:
    我们需要减去“至少一个$b_i≥9$”的解,加回“至少两个$b_i≥9$”的解,以此类推(因为减多的部分要补回来):
    • 对于第$t$次修正($t≥0$):
      • 从$k$个变量中选$t$个,令每个选中的变量$b_i$替换为$c_i=b_i-9$(这样$c_i≥0$),此时方程变为:
        $$c_1+c_2+\dots+c_t+\sum_{j \notin \text{选中集合}}b_j=2021 -k -9t$$
      • 对应的解数为$\binom{(2021 -k -9t)+k-1}{k-1}=\binom{2020 -9t}{k-1}$
      • 这部分的符号为$(-1)^t$(偶数次修正加,奇数次修正减),组合数为$\binom{k}{t}$(选$t$个变量的方式数)。
    • $t$的最大取值$t_{max}$:需要满足$2021 -k -9t ≥0$,即$t≤\lfloor \frac{2021 -k}{9} \rfloor$(当$2020 -9t <k-1$时,组合数$\binom{n}{r}=0$,所以超过这个范围的项自动为0)。

最终解数表达式

  • 当$k<225$或$k>2021$时,解数为$\boldsymbol{0}$;
  • 当$225≤k≤2021$时,解数为:
    $$\sum_{t=0}^{t_{max}} (-1)^t \binom{k}{t} \binom{2020 -9t}{k-1}$$
    其中$t_{max}=\lfloor \frac{2021 -k}{9} \rfloor$。

备注:内容来源于stack exchange,提问作者ryan.zcd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:14:53