从n个不同元素中有放回的取出r个且不计顺序,有多少种不同的取法?
从n个不同元素中有放回的取出r个且不计顺序,有多少种不同的取法?
答案是:\(C_{n+r-1}^r\)
解析
因为是有放回地取出,所以同一个元素可能会被取多次,并且取出的元素是不计顺序的,那么如果我们设\(x_i\)为第\(i\)个元素被取出的次数,问题就被转化为:
x_1+x_2+\cdots +x_n=r\\
x_i\ge0,1\le i\le n
\end{aligned}
\]
求以上\((x_1,x_2,\dots,x_n)\)解的个数。
注意到\(x_i\ge 0\),这时对答案的求解仍然不是很直观。如果再进行一次转化:
\]
如果设\(y_i=x_i+1\),那么问题再一次转化:
y_1+y_2+\cdots +y_n=r+n\\
y_i>0,1\le i\le n
\end{aligned}
\]
求\((y_1,y_2,\dots,y_n)\)解的个数
注意到,\(y_i>0\)
此时问题相当于,有r+n个苹果摆成一行,我们用小棍子将它们分割为n个部分,每个部分必须有苹果。比如说用O代表苹果,|代表棍子,那么当\(n=4,r=1\)时,可能有以下分割方式:
\]
这时,棍子将苹果分为4个部分,分别为1,2,1,1,那么此时,\((1,2,1,1)\)就是\((y_1,y_2,y_3,y_4)\)的一组解
所以,n+r个苹果,有n+r-1个空隙,我们要将这一排苹果分为n个部分,那么需要n-1个棍子,也就是从n+r-1个空隙中选择n-1个去插棍子,此时方案数为\(C_{n+r-1}^{n-1}\),也就是\(C_{n+r-1}^r\)
从n个不同元素中有放回的取出r个且不计顺序,有多少种不同的取法?的更多相关文章
- n个元素的入栈顺序有多少种出栈顺序?
问题:w1.w2.w3.w4.w5,5个元素将会按顺序入栈,求出栈顺序有多少种情况. 先写一下结论方便记忆: 1个元素:1种 2个元素:2种 3个元素:5种 4个元素:14种 5个元素:42种 简单的 ...
- 【转】【数据结构】【有n个元素依次进栈,则出栈序列有多少种】
卡特兰数 大神解释:https://blog.csdn.net/akenseren/article/details/82149145 权侵删 原题 有一个容量足够大的栈,n个元素以一定的顺序 ...
- shell 中函数放回字符串问题
shell 中函数放回字符串问题 shell 中不可以直接 return 字符串 ,可以return 数字.如果要return 字符串 改为 echo "hello world" ...
- 同过增强Connection类[重写了close的方法]实现的从连接池取出连接并放回连接的简单的实现流程
package tk.dong.connection.util; import java.io.IOException;import java.io.InputStream;import java.i ...
- 在n个球中,任意取出m个(不放回),求共有多少种取法
要求: 在n个球中,任意取出m个(不放回),求共有多少种取法 分析: 假设3个球A,B,C,任意取出2个,可分为取出的球中含A的部分和不含A的部分.即AB,AC为一组,BC为一组. 设函数F(n,m) ...
- RabbitMq消息手动应答、放回队列重新消费、设置队列消息持久化、分发模式
RabbitMq消息手动应答,放回队列重新消费,设置队列消息持久化 消息应答 概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了,会发生什么情况. ...
- PHP的排列组合问题 分别从每一个集合中取出一个元素进行组合,问有多少种组合?
首先说明这是一个数学的排列组合问题C(m,n) = m!/(n!*(m-n)!) 比如:有集合('粉色','红色','蓝色','黑色'),('38码','39码','40码'),('大号','中号') ...
- 基于JQuery实现表单元素值的回写
form.jsp: <%@ page language="java" import="java.util.*" pageEncoding="GB ...
- 中国天气网放回json的解释
本文是出自David_Tang的,原文http://www.cnblogs.com/mchina/archive/2013/07/12/3170551.html {"weatherinfo& ...
- 通信协议之广播---recvfrom 放回客户端的ip地址第一次全为0.0.0.0
遇到一个很恶心的问题. while(1) { recvfrom(sockfd, readbuff, UDP_CMD_BUFF_LENGTH - 1, 0, (struct sockaddr *)&am ...
随机推荐
- GIT 操作大全 基于廖雪峰
命令显示从最近到最远的提交日志 git log / git log --pretty=oneline 回退到上一个版本:$ git reset --hard HEAD^ (用HEAD表示当前版 ...
- Jmix 如何将外部数据直接显示在界面?
企业级应用中,通常一个业务系统并不是孤立存在的,而是需要与企业.部门或者是外部的已有系统进行集成.一般而言,系统集成的数据和接口交互方式通常有以下几种: 文件传输:通过文件传输的方式将数据传递给其他系 ...
- [Java] 多线程系列之Fork/Join框架[转载]
1 工作原理 1.1 核心思想:分而治之 & 并行执行 Fork/Join框架是Java 7提供的一个用于并行执行任务的框架, 核心思想就是把大任务分割成若干个小任务,最终汇总每个小任务结果后 ...
- 11.spring security 认证和授权简单流程了解
1.总结:昨天主要是对WebSecurityConfigurerAdaptor的三个函数的区分以及了解了spring security的认证和授权流程:再就是动手使用了下thymeleaf和freeM ...
- 第一章 static、单例与继承
目录 面向对象 一.static关键字 1.static修饰成员变量 2.static修饰成员变量内存中执行原理 3.成员方法的执行原理 4.工具类 5.静态关键字注意事项 6.代码块 java静态代 ...
- Java并发(二)----初次使用多线程并行提高效率
1.并行 并行代表充分利用多核 cpu 的优势,提高运行效率. 想象下面的场景,执行 3 个计算,最后将计算结果汇总. 计算 1 花费 10 ms 计算 2 花费 11 ms 计算 3 花费 ...
- $\Beta$分布推导与可视化
$\Gamma$函数 $\Gamma$函数(Gamma函数)是阶乘函数在实数和复数域的扩展.对于正整数$n$,阶乘函数表示为$n! = 1 \times 2 \times ... \times n$. ...
- 如何通过Java应用程序在PPT中创建SmartArt图形
SmartArt其实就是一个文字的可视化工具,用户可在PowerPoint,Word,Excel中使用该特性创建各种图形图表.SmartArt 图形是信息和观点的视觉表示形式.可以通过从多种不同布局中 ...
- 关于windows11 开启关闭管理员账户
如何在Windows 11上启用或禁用管理员帐户 当 PowerShell 启动时,键入以下命令并按Enter: net user administrator /active:yes 在 Window ...
- springboot整合cas回调地址使用nginx配置出错
nginx配置后台为 location /apis springboot基础cas回调时访问地址为nginx域名+apis回调.为什么没有成功.页面只回调域名+登录方法路径,而不是域名+apis+登录 ...