当前位置: 首页 > news >正文

郑州网站推广公司电话销售推广

郑州网站推广公司电话,销售推广,高端网站建设一般多少钱,个人做网站设计分配方案 描述 有n个人,他们需要分配m元钱(m>n),每个人至少分到1元钱,且每个人分到的钱数必须是整数。请问有多少种分配方案? 输入 一行,两个整数,分别是人数n与钱数m,用一个空格隔开。 输出 一行&am…

分配方案

描述
有n个人,他们需要分配m元钱(m>n),每个人至少分到1元钱,且每个人分到的钱数必须是整数。请问有多少种分配方案?
输入
一行,两个整数,分别是人数n与钱数m,用一个空格隔开。

输出
一行,一个整数,是分配方案数。

样例输入

5 10

样例输出

126

问题分析

1. 初始状态:

如果没有人(即i=0),那么没有方案,方案数为0。

如果没有钱(即j=0),那么唯一的方案就是所有人都分到 0 元钱,但这种情况不符合每个人至少1 元钱的条件,方案数为0。

如下表所示:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a849f408b2be44458137526004c811c4.png

2. 状态转移方程 :

如i=3,j=5,代表我们将5元钱分给3个人,方案数用f(i,j)表示,所有方案如下:

最后一人分1元,其余两人分剩余的4元,方案数为f(i-1, j-1);

最后一人分2元,其余两人分剩余的3元,方案数为f(i-1, j-2);

最后一人分3元,其余两人分剩余的2元,方案数为f(i-1, j-3);

最后一人分4元,其余两人分剩余的1元。不符合要求,方案数为0;

最后一人分5元,其余两人分剩余的0元。不符合要求,方案数为0。

综上所述,方案数计算如下:

f(i,j) = f(i-1,j-1) + f(i-1, j - 2) + … + f(i -1, i-1)
在这里插入图片描述
因为 f(i-1, j - 2) + … + f(i -1, i-1) = f(i, j-1)
在这里插入图片描述
所以状态转移方程为:f(i,j) = f(i-1,j-1) + f(i, j-1)

3. 边界条件:

我们定义一个二维列表dp ,其中dp[i][j]表示将j元钱分配给i个人的方案数。

dp[1][1]=1表示1个人,1元钱,只有一种方案。

m<n时,钱数少于人数,方案数为0。

4. 参考代码

参考代码【递归】

def f(n, m):if m < n:return 0if n == 1:return 1count = 0for i in range(1, m - n + 2):# 递归计算 f(i-1,j-1) **+ f(i-1, j - 2) + ... + f(i -1, i-1)#  i的值最大为m-n+1count += f(n - 1, m - i)# 从f(n-1, m-1) 到 f(n-1, m-(m-n+1))即f(n-1,n-1)累加求和return countn, m =map(int,input().split())
print(f(n, m))

参考代码【动态规划】

n, m = map(int,input().split())
dp =[[0]*(m+1) for i in range(n+1)]
for j in range(1, m+1):dp[1][j]=1  # 大于等于1元时,只有1人分配方案有1种
for i in range(2, n+1):for j in range(i, m+1):# 从i开始,j小于i不需要计算dp[i][j]= dp[i-1][j-1] + dp[i][j-1]
print(dp[n][m])

递归和动态规划是解决很多算法问题的两种重要方法,尤其在处理需要重复子问题求解的问题时非常有效。尽管它们在某些方面相似,但在效率、内存使用以及实现方式上有着显著的区别。

↓ 更多少儿编程知识点 击 gzh 名 片 关 注查看 ↓

http://www.hkea.cn/news/609204/

相关文章:

  • 商城网站建设分为几块seo臻系统
  • 网络营销对于个人而言有什么作用seo文章
  • 做书籍封皮的网站今日中国新闻
  • 东莞建设网站电工培训技术学校
  • 深圳聘请做网站人员成都排名seo公司
  • 网站备案之后东莞网站关键词优化公司
  • 多种专业网站建设潍坊网站排名提升
  • 网站投稿系统怎么做网站制作流程是什么
  • 交警网站建设整改百度推广怎么推广
  • 重庆网站建设哪里比较好呢网站下载
  • 网站运行速度慢的原因看b站二十四小时直播间
  • 电商网站开发服务全网营销骗局揭秘
  • 个人网站怎么做互联网营销师培训课程免费
  • 微信网站建设价格网站开发报价方案
  • wordpress utc时间慢8小时大连seo关键词排名
  • 中国建设承包商网站创建软件平台该怎么做
  • 中小企业网站建设费用海外推广服务
  • 企业名称的英文做网站名seo是怎么优化推广的
  • 手机在线建站西安seo服务公司
  • 网站开发有前途吗我也要投放广告
  • 备案 网站名称怎么写crm软件
  • 扁平式网站模板b2b网站推广优化
  • 做外贸网站网络营销咨询服务
  • 江门网站建设方案报价淘宝seo优化怎么做
  • 盘龙城做网站推广网站推广
  • 如何做电子书网站域名站长工具
  • 物联网平台有哪些排名优化外包公司
  • 秦皇岛汽车网站制作数字营销工具
  • 培训教育的网站怎么做东莞做网站的联系电话
  • 云南做网站的公司外贸谷歌优化