首页 > 其他分享 >不定方程整数解

不定方程整数解

时间:2023-08-22 22:11:47浏览次数:34  
标签:方程 正整数 个数 整数 满足 +...+ 不定

1.一次不定方程 $x_1+x_2+...+x_n=m$ 的正整数解个数

考虑隔板法,将m看成m个小球,在中间放上n-1个隔板,每一个区域的小球个数作为一个x的解,很明显,有m-1个位置可以放上隔板,一共需放上n-1个,所以答案即为 $C^{n-1}_{m-1}$

可以理解为向n个盒子里放m个球(不能为空)

 

2.一次不定方程 $x_1+x_2+...+x_n=m$ 的非负整数解个数

这次盒子可以为空了,将方程转化一下
$$
(x_1+1)+(x_2+1)+...+(x_n+1)=m+n
$$
这样每个数都为正整数,由(1),答案即为 $C^{n-1}_{n+m-1}$

 

3.一次不定方程 $x_1+x_2+...+x_n=m$ ,满足 $x_i≥a_i$ 的正整数解个数

再次将方程转化一下
$$
(x_1-a_1+1)+(x_2-a_2+1)+...+(x_n-a_n+1)=m-\sum a_i+n
$$
相当于每次往特定的箱子里预先装入一些球,现在每个数都为正整数,由(1),答案即为 $C^{n-1}_{m+n-\sum a_i-1}$

 

4.一次不定方程 $x_1+x_2+...+x_n=m$ ,满足 $x_i≤a_i$ 的正整数解个数 (n<=20)

由于这个n很小,而且于反方向比较好思考(3),考虑容斥,把条件转化为不满足 $x_i≥a_i+1$ ,答案即为全部-其中一个不满足的+其中二个不满足的-... 枚举其中有哪些x不满足的二进制状态,根据多少x不满足的数量奇偶判断加减即可

 

标签:方程,正整数,个数,整数,满足,+...+,不定
From: https://www.cnblogs.com/hfz123/p/17649834.html

相关文章

  • 【运营版】盛大大财神多功能完美运营微信/支付宝/云闪付/抢单系统源码/完整数据
    源码介绍:盛大大财神多功能完美运营微信/支付宝/云闪付/抢单系统源码/完整数据做码商的那时候都知道的,大财神,功能以及各方面都是很不错的。完美运营级无BUG。VUE+thinkphp5前后端分离,喜欢的拿去学习研究,里面带简单的搭建教程   点击链接,免费下载:提取码:011e......
  • 蓝桥杯省赛真题(砍树 整数删除 景区导游 翻转硬币)
    蓝桥杯省赛真题(砍树整数删除景区导游翻转硬币)四道比较难的题(题解是官方提供的)砍树(树上差分)https://www.lanqiao.cn/problems/3517/learning/解题思路在这个问题中,我们需要找到一条边,砍掉它之后,所有给出的节点对\((a_i,b_i)\)之间都不再连通。换言之,这条边应是所有\((......
  • C++ 函数模版 不定参数
    实现参数不固定的加法,需要如下实现template<typenameT>TtempSum(constT&t){ staticTsum; sum+=t; returnsum;}//这里保存计算结果template<typenameT>TsaveValue(constT&t){ staticTtemp=t;//这里必须用static的功能 returntemp;}voidt......
  • 一种基于Common Lisp的用lambda从头构建逻辑、整数、算数、斐波拉契的方案
    绪论本文参考视频教程,教程给出了一系列编程题目。该教程作者裘香莲已经基于JavaScript,用lambda运算从头构建了一系列编程基础概念。本文则对其编程题以CommonLisp语言另外给出答案。逻辑与判断的实现代码展示(defparameter*t*(lambda(opt1opt2)`,opt2(funcallop......
  • 整数规划代码
    在Python中,可以使用第三方库PuLP来求解整数规划问题。PuLP提供了简单易用的接口,可以方便地定义整数规划模型和求解器。下面是一个使用PuLP库进行整数规划求解的示例代码:首先,确保已经安装了PuLP库。可以使用以下命令安装:pipinstallpulp然后,可以使用以下代码编写整数规划求解的......
  • 范围中美丽整数的数目
    给你正整数low,high和k。如果一个数满足以下两个条件,那么它是美丽的:偶数数位的数目与奇数数位的数目相同。这个整数可以被k整除。请你返回范围[low,high]中美丽整数的数目。1.数位dpclassSolution{public:intcalc(intnum,intk){strings......
  • 非线性方程的解
    非线性方程的解From2022-12-2To2022-12-Learningfrom物理学中的非线性方程的逐步搜索法和二分法求解非线性方程的迭代法弦截法目录非线性方程的解逐步搜索法二分法简单迭代法(不动点迭代法)例:求\(e^{2x}+x-4=0\)的根迭代函数收敛判定迭代函数收敛定理加速算法-......
  • leetcode2235 两整数相加
    题目描述:(这第一种方法我就不多说了,肯定是有手就行)给你两个整数num1和num2,返回这两个整数的和。示例1:输入:num1=12,num2=5输出:17解释:num1是12,num2是5,它们的和是12+5=17,因此返回17。示例2:输入:num1=-10,num2=4输出:-6解释:num1+num2=-6,因此返......
  • Python练习:输入一个整数,输出该数二进制表示中1的个数。
      Python3整数对象存储为无符号数加上符号位标志,所以不存在“负数”补码形式,因此,计算“1”的数量需要按去符号后的无符号数:cnt=bin(n).count('1')另外,Python3无长整,整数长度原则上不限,所以不能以假定的32位处理。    补码+原码=2**321#-*-coding:ut......
  • 【LeetCode2118. 建立方程】 group_concat指定分隔符,指定排序顺序
    目录题目地址题目描述代码题目地址https://leetcode.cn/problems/build-the-equation/description/题目描述Example2:输入:Terms表:+-------+--------+|power|factor|+-------+--------+|4|-4||2|1||1|-1|+-------+---......