当前位置:网站首页>关于不定方程解的个数的问题
关于不定方程解的个数的问题
2022-07-24 13:42:00 【lAWTYl】
不定方程的解的个数
Lv0
首先我们看这样一个问题,求 ∑ i = 1 n x i = b \sum\limits_{i = 1}^n x_i = b i=1∑nxi=b 的非负整数解的个数。
这个问题就非常简单啊,我们稍微把他转化一下,这个问题就等价于有 n n n 个小朋友分 b b b 个糖果,每个小朋友至少分到 0 0 0 个糖果(好惨啊),求分完糖果的方案数。
然后我们再转化一下问题,现在有 b b b 个糖果排成一排,在其中放 n − 1 n - 1 n−1 个木板(可以有多个木板在同一个格子里),这样就能把这些糖果分成 n n n 部分,求方木板的方案数。
这样就很显然了嘛,答案就是总共有 n + b − 1 n + b - 1 n+b−1 个格子可选,在其中选出 n − 1 n - 1 n−1 个格子的方案数,也就是 C n + b − 1 n − 1 C_{n + b - 1}^{n - 1} Cn+b−1n−1。
Lv1
还有这样一个问题,求 ∑ i = 1 n x i = b \sum\limits_{i = 1}^nx_i = b i=1∑nxi=b 且 x i ≥ l i x_i \geq l_i xi≥li 的非负整数解数。显然我们非常不希望出现后面的约束条件,于是我们考虑这样:
∑ i = 1 n x i = b − ∑ i = 1 n l i \sum_{i = 1}^nx_i = b - \sum_{i = 1}^nl_i i=1∑nxi=b−i=1∑nli
这样一来我们就把问题转化成了第一个问题一样的形式了(就相当于我们减掉了 x i < l i x_i < l_i xi<li 的贡献),答案就是:
a n s = ( n + b − ∑ i = 1 n l i − 1 n − 1 ) ans = \begin{pmatrix} n + b - \sum\limits_{i = 1}^n l_i - 1 \\ n - 1 \end{pmatrix} ans=⎝⎛n+b−i=1∑nli−1n−1⎠⎞
Lv2
最后一个问题,求 ∑ i = 1 n x i = b \sum\limits_{i = 1}^nx_i = b i=1∑nxi=b 且 x i ≤ r i x_i \leq r_i xi≤ri 的非负整数解的个数。这个问题就不像上一个那么好转换了。所以我么考虑容斥掉 x i ≥ r i + 1 x_i \geq r_i + 1 xi≥ri+1 的贡献。
我们令集合 S S S 表示 ∑ i = 1 n ( x i ≥ r i + 1 ) \sum\limits_{i = 1}^n(x_i \geq r_i + 1) i=1∑n(xi≥ri+1) 的二进制集合。这样就相当于求 S = { 0 , 0 , ⋯ , 0 } S = \{ 0, 0, \cdots, 0 \} S={ 0,0,⋯,0} 的时候的答案。我们令 f ( S ) f(S) f(S) 表示该二进制集合为 S S S 时的答案。则有:
f ( S = { 0 , 0 , ⋯ , 0 } ) = t o t − ∑ S ⊂ U ( − 1 ) ∣ S ∣ + 1 f ( S ) f(S = \{0, 0, \cdots, 0\}) = tot - \sum_{S \subset U}(-1)^{|S| + 1}f(S) f(S={ 0,0,⋯,0})=tot−S⊂U∑(−1)∣S∣+1f(S)
其中 t o t tot tot 表示总数,也就是第一个问题的答案。 U = { 0 , 0 , ⋯ , 0 } U = \{ 0, 0, \cdots, 0 \} U={ 0,0,⋯,0} ( n n n 个 0 0 0)。上面这个式子就是容斥原理嘛。
然后其中(等价于第二个问题):
f ( S ) = ( n + b − 1 − ∑ i ∈ S ( r i + 1 ) n − 1 ) f(S) = \begin{pmatrix} n + b - 1 - \sum\limits_{i \in S} (r_i + 1) \\ n - 1 \end{pmatrix} f(S)=(n+b−1−i∈S∑(ri+1)n−1)
于是:
a n s = ( n + b − 1 n − 1 ) − ∑ S ⊂ U ( − 1 ) ∣ S ∣ + 1 f ( S ) = ( n + b − 1 n − 1 ) + ∑ S ⊂ U ( − 1 ) ∣ S ∣ ( n + b − 1 − ∑ i ∈ S ( r i + 1 ) n − 1 ) = ∑ S ⊆ U ( − 1 ) ∣ S ∣ f ( S ) \begin{aligned} ans & = \begin{pmatrix} n + b - 1 \\ n - 1 \end{pmatrix} - \sum_{S \subset U}(-1)^{|S| + 1} f(S) \\ & = \begin{pmatrix} n + b - 1 \\ n - 1 \end{pmatrix} + \sum_{S \subset U} (-1)^{|S|} \begin{pmatrix} n + b - 1 - \sum\limits_{i \in S}(r_i + 1) \\ n - 1 \end{pmatrix} \\ & = \sum_{S \subseteq U} (-1)^{|S|}f(S) \end{aligned} ans=(n+b−1n−1)−S⊂U∑(−1)∣S∣+1f(S)=(n+b−1n−1)+S⊂U∑(−1)∣S∣(n+b−1−i∈S∑(ri+1)n−1)=S⊆U∑(−1)∣S∣f(S)
边栏推荐
- FlinkTable&SQL(七)
- Network security - file upload whitelist bypass
- 基于群体熵的机器人群体智能汇聚度量
- R语言tidyr包的gather函数将从宽表转化为长表(宽表转化为长表)、第一个参数指定原多个数据列名称生成的新数据列名称、第二个参数指定原表内容值、第三个和第四个参数通过列索引指定不变的列名称列表
- 网络安全——文件上传渗透测试
- DDD based on ABP -- Entity creation and update
- Simple order management system small exercise
- 三层交换机配置MSTP协议详解【华为eNSP实验】
- Explain flex layout in detail
- Chapter VI bus
猜你喜欢

Network security - file upload content check bypass

Chinese character style migration --- diversity regularization stargan for Chinese character multi font generation

支持鹏程系列开源大模型应用生态演化的可持续学习能力探索

Overview of multi view learning methods based on canonical correlation analysis

Why are there "two abstract methods" in the functional interface comparator?

Network security - Web penetration testing

Explain the edge cloud in simple terms | 2. architecture

Bayesian width learning system based on graph regularization

rhcsa第六次笔记

网络安全——使用Evil Maid物理访问安全漏洞进行渗透
随机推荐
How can the easycvr platform access special devices without authentication?
Integer inversion of force deduction questions
网络安全——文件上传白名单绕过
Simple order management system small exercise
Network security - file upload whitelist bypass
Aike AI frontier promotion (7.24)
网络安全——过滤绕过注入
Kunyu(坤舆) 安装 详解
Outdoor billboards cannot be hung up if you want! Guangzhou urban management department strengthens the safety management of outdoor advertising
Aggregation measurement of robot swarm intelligence based on group entropy
R语言检验样本比例:使用prop.test函数执行单样本比例检验计算总体中成功样本比例p值的置信区间
Gradle 15 minute introductory tutorial
网络安全——文件上传内容检查绕过
基于群体熵的机器人群体智能汇聚度量
R语言使用epiDisplay包的tableStack函数制作统计汇总表格(基于目标变量分组的描述性统计、假设检验等)、设置by参数为目标变量、设置percent参数配置是否显示百分比信息
网络安全——中间人攻击渗透测试
Flink综合案例(九)
Network security - file upload blacklist bypass
flow
网络安全——文件上传竞争条件绕过