首页 > 其他分享 >隔板法总结

隔板法总结

时间:2023-08-13 23:04:04浏览次数:41  
标签:总结 隔板 方程 ... 非负 组数 不定

计算不定方程的等式方程非负整数解的组数

问题描述

对于不定方程$a_1 + a_2 + a_3 + \ ... \ + a_k = g$,求解该不定方程正整数解的组数 eg: $k = 3, g = 4$时,$①1 + 1 + 2 = 4 \ ②1 + 2 + 1 = 4 \ ③2 + 1 + 1 = 4$,所以此时是三组解

问题分析

问题可等效为求解将$g$个小球分成$k$组的方案数 解决方法为隔板法。$g$个小球共$g-1$个间隔,$k-1$个隔板可以分为$k$个部分,在$g-1$个间隔中放置$k-1$个隔板的方案数即为答案 隔板法能够运用的前提条件为保证$a_i$为非负整数,这样使用隔板划分出的数据才是合法的。假设$a_i$可能为负数或0,使用隔板是无法得到对应数据的

代码实现

仅需要实现组合数的计算,具体内容见组合数的代码实现

例题

方程的解

计算不定方程的不等式方程非负整数解的组数

问题描述

$y_1 + y_2 + y_3 + \ ... \ + y_k \leq g$ $y_i \geq 1$ 求符合条件的$y_i$的解的组数

问题分析

对于等式$y_1 + y_2 + y_3 + \ ... \ + y_k = g$,求解方法可以采用隔板法,这是在上面讨论过的 假设我们目前仅考虑$=$的情况,只需在$g-1$个间隔中放置$k-1$个隔板,从而构成k个数 接着考虑$<$的情况,此时形成的k个数需要小于g,即g个球中有未进入分组的,在$g-1$个间隔中放置$k$个隔板,这样构成的$k+1$个分组中最后一组就相当于未进入分组的,前k个数的和就$<g$了 综合考虑以上两种情况,最终策略为在$g-1$个间隔加上最后的位置中放置$k$个隔板。当隔板全部处于中间$g-1$个位置时,对应的是$<$的情况;当最后一个隔板处于最后的位置时,中间$g-1$个间隔中还是$k-1$个隔板,对应的是$=$的情况。

代码实现

同样仅需要实现组合数的计算,,具体内容见组合数的代码实现

例题

序列统计

标签:总结,隔板,方程,...,非负,组数,不定
From: https://blog.51cto.com/u_14882565/7070321

相关文章

  • 总结笔记1
    1.数据颗粒度,维度2.是数据量3.笛卡尔积加条件,内连接外连接等4.行转列sqlcasewhen的理解造列行转列casewhen/if列转行unionall列转换成字符串GROUP_CONCAT5.hive中MR6.hivejoin7.hivesql优化案例介绍减少处理的数据量分区裁剪,列剪裁合理的......
  • 总结笔记4
    hivesql函数字符串函数:1.length:length(stringA)2.reverse:reverse(stringA)3.concat:concat(stringA,stringB)4.concat_ws:concat_ws(stringsep,stringA,stringB)5.substring,substr:substring(stringA,intstart,intlen)6.substring_index(str,delim,count)如......
  • 总结笔记2
    关联规则AB测试聚类算法查找问题:漏斗分析横向分析小辛野子:先是一个sql,让算新增用户数,7日内的留存小辛野子:然后问了决策树算法、聚类算法、关联规则小辛野子:解释贝叶斯定理的公式小辛野子:用假设检验和置信区间解释第一类错误第二类错误小辛野子:还有各种因果推断......
  • 总结笔记5
    1.Azuredatalake,datafactory,databricks,sqlDB2.文件,DB,API的ETL经验,3.Azure权限和安全体系4.逻辑和物理分层模型5.熟练SQL能力6.具备编程能力,例如python,C#,scala7.机器学习8.Agile项目管理办法,使用azuredevOps工具进行项目实施,9.数据平台运维经验考察sql能力及基础函......
  • Linux中断底半部机制总结
    转载:Linux中断底半部机制总结-闹闹爸爸-博客园(cnblogs.com)linux实现底半部的机制主要有tasklet、workqueue、softirq和线程化irq。1.tasklettasklet的使用较为简单,它的执行上下文是软中断,所以在tasklet中不能睡眠,它的执行时机通常是中断顶半部返回的时候。我们只需要定......
  • I2C知识总结
    一、1.I2C接两个上拉电阻的意义节选自百度百科中高阻态电路设计人员经常使用上拉电阻以及下拉电阻(通常为1至100kΩ)让这个处于三态的节点能有确定的默认逻辑状态,防止状态不定或感染噪声。例如,I²C总线协议(一种常用的设备间双向通信的协议)在两条通信线上使用了上拉电阻。当设备......
  • 假期第五周总结
    本周学习了python的一些语句,了解了Python的一些使用方法了解了Python与Hadoop生态系统的集成,学习了如何将Python与Hadoop生态系统工具进行集成,如使用Python编写MapReduce程序、使用PySpark进行数据处理等。通过编写Python与Hadoop生态系统工具的集成应用程序,实践将Python与Hadoo......
  • 背包问题变式总结
    01背包01背包完全装满求方案数Acwing278数字组合状态表示:二维集合:所有从前\(i\)个数里面选,且和是\(j\)的选法的集合属性:选法的数量状态计算分为选\(i\)的所有方案和不选\(i\)的所有方案不选\(i\)也就是从前\(i-1\)个数里面选,且和是\(j\)的方案数\(......
  • svg foreignObject 作用总结
    svgforeignObject主要能实现文本换行和dom转图片两个功能1.svg文本换行svg文字功能很弱,不支持自动换行,需要用tspan进行截断<svgxmlns="http://www.w3.org/2000/svg"><textfont-size="16"><tspanx="0"y="10">这个是一段要换</tspan>......
  • 第五周总结
    周一:明确学习目标和资源准备本周的第一天,我将明确自己的学习目标,确定学习重点和方向。我计划阅读相关的大数据领域的书籍和文档,如《大数据导论》、《Hadoop权威指南》等,以了解各种大数据技术和工具的基本概念和应用场景。此外,我也会寻找一些在线学习资源和教程,如网课、博客和视频......