当前位置:网站首页>关于不定方程解的个数的问题
关于不定方程解的个数的问题
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)
边栏推荐
- 深入浅出边缘云 | 2. 架构
- How to verify the domain name after applying for SSL digital certificate?
- Network security - filtering bypass injection
- 交换机链路聚合详解【华为eNSP】
- 申请了SSL数字证书如何进行域名验证?
- 2022年全国职业院校技能大赛赛项比赛时间、承办校信息统计表(第二批)
- Happy number ~ ~ ~ (in fact, I'm not happy at all) & ugly number
- 2021年最新最全Flink系列教程_Flink原理初探和流批一体API(二.五)v2
- 为什么函数式接口 Comparator 中有 “两个抽象方法”?
- 软链接、硬链接
猜你喜欢

Flex layout

Aike AI frontier promotion (7.24)

CSDN垃圾的没有底线!

群体知识图谱:分布式知识迁移与联邦式图谱推理

户外广告牌不能“想挂就挂”!广州城管部门加强户外广告安全管理

Group knowledge map: distributed knowledge transfer and federated map reasoning

爱可可AI前沿推介(7.24)

Bayesian width learning system based on graph regularization

Network security - error injection

Network security -- man in the middle attack penetration test
随机推荐
网络安全——Web信息收集
Aggregation measurement of robot swarm intelligence based on group entropy
数据修改修改
Why are there "two abstract methods" in the functional interface comparator?
Two stacks implement one queue
Thread multithreading
交换机链路聚合详解【华为eNSP】
R语言使用epiDisplay包的tableStack函数制作统计汇总表格(基于目标变量分组的描述性统计、假设检验等)、设置by参数为目标变量、设置percent参数配置是否显示百分比信息
Network security - Web penetration testing
Interview question 01.02. determine whether it is character rearrangement
网络安全——Web渗透测试
2021年最新最全Flink系列教程_Flink原理初探和流批一体API(二.五)v2
rhce第一次作业
Repair the problem of adding device groups and editing exceptions on easycvr platform
Dtcloud uses custom fonts
Browser type judgment
第六章 总线
Adjust the array order so that odd numbers precede even numbers
Kunyu(坤舆) 安装 详解
rhcsa第六次笔记