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

“分球入盒”问题

顾名思义,该问题就是关于如何把多个小球放入多个盒子的问题。该问题共有 8 种变种,分别有 3 个不同点:

  • 球之间有没有区别?
  • 盒子之间有没有区别?
  • 每个盒子是否至少要放 1 个球?

对此,我做了个表格(T 为肯定,F 为否定):

情况 球之间有没有区别 盒子之间有没有区别 盒子是否至少要放 1 个球
#1 T T T
#2 T T F
#3 T F F
#4 T F T
#5 F F T
#6 F T F
#7 F T T
#8 F F F

后文的叙述顺序会按难度升序排序。

约定

我们约定:

  • 共有 \(n\) 个球,\(m\) 个盒子,并假设 \(n \ge m\)
  • \(\dbinom{n}{m}=\dfrac{n!}{m!(n-m)!}\), 表示在 \(n\) 个物品中选择 \(m\) 个的可能数(不同顺序算一个可能)。

情况 #2

很明显对于每个球,我们都要选择一个盒子。于是解即为 \(m^n\)

情况 #5

插板法)我们可以在 \(n\) 个球之间插入 \((m-1)\) 个板子,来把这些球分成 \(m\) 份。因为不能有盒子不放,所以空隙数为 \((n-1)\) 。答案即为 \(\dbinom{n-1}{m-1}\)

情况 #8

我们可以把这种情况转化成情况 #5,只需再加入 \(m\) 个球即可。于是答案为 \(\dbinom{n+m-1}{m-1}\)

······

http://www.sczhlp.com/news/5072/

相关文章:

  • ArrayDeque双端队列--底层原理可视化
  • 架构师必备:实时对账与离线对账
  • http缓存
  • (笔记)树套树
  • Git 中如何回退到以前的提交记录?
  • 核心知识点及其具体内容
  • qBittorrent的智能剧集过滤器如何使用?
  • 【AI问答】PromQL中interval和rate_interval的区别以及Grafana面板的调整建议
  • 逆向工程系列第三篇:二进制分析与破解实战
  • 南加州大学与某机构共建可信机器学习研究中心
  • CSP-S 模拟9 爆0记
  • nvidia gpu mig
  • 一步一步学习使用LiveBindings(7) 实现对JSON数据的绑定
  • 读开源项目成功之道03开源许可证
  • 谷歌耗时一月关停服务器间谍软件Catwatchful
  • AppAuth-iOS - OAuth 和 OpenID Connect 客户端 SDK
  • 一个架构写疯掉的本人年度笑话
  • 自动锁定系统
  • chii启动服务器报错
  • 世界之章一
  • 【软件问题解决】Windows系列(亲测有效):win10开启远程桌面,但仍无法连接问题排查解决
  • 「算法笔记」长链剖分
  • [08.03学习笔记] Post-norm和Pre-norm - Luna
  • 类型、变量与对象详解(中)
  • 假期周进度报告2
  • 如何快速使用minio
  • 类型、变量与对象详解(上)
  • pnpm 10.14 支持JavaScript运行时的安装了
  • 如何正确实现一个 BackgroundService
  • [Database] clickhouse