注意:此讲适合联赛一试学生,以及参加清华北大等名校的自主招生的学生.

经典计数之分配问题:把n个球放进k个盒子。考虑分配方法有三类:1.无限制 2.每个盒子至多一个(f 单的)3.每个盒子至少一个(f 满的).球和盒子都只考虑两种极端情况:全同或全不同。这样一共会有3*2*2=12种分配情况,如下:

证明:

1.略

2.此时只考虑$k\ge n$这种有意义情况,由分步计数原理易得$(k)_n=k(k-1)\cdots(k-n+1)$

3.此时只考虑$n\ge k$这种有意义情况,第一步将n球分成k部分有$S(n,k)$种方法,第二步

分好的k部分球放到$k$个不同的盒子里有$k!$种排法.所以完成这件事情一共有$k!S(n,k)$种方法.

这里$S(n,k)$定义如下:

4.方程$x_1+x_2+\cdots+x_k=n$的非负整数解.

5.此时只考虑$k\ge n$这种有意义情况,由于“f单”意味着每个盒子里至多放一个球,只需

$k$个盒子里取$n$个,然后取出的盒子各放一个球。

6.方程$x_1+x_2+\cdots+x_k=n$的正整数解.

7.$n$元集至多分成$k$部分.

8.定义

9.$n$元集的$k$部分拆数为第二类$stirling$数$S(n,k)$

10.正整数$n$至多分成$k$个部分。这里分拆数$p(n,k)$定义如下:

注意:这里说的分拆是不计较各部的次序的,比如4的分拆为2,1,1一种。但4的有序分拆有三个(2,1,1);(1,2,1);(1,1,2).一般而言有序分拆好处理.比如$n$的$k$部有序分拆就是$x_1+x_2+\cdots+x_k=n$的正整数个数.

显然$p(n,1)=p(n,n-1)=p(n,n)=1;p(n,2)=[\frac{n}{2}]$,当$k>n$时$p(n,k)=0$一般的$p(n,k)$没有简单的表示方法.

注:$(n_1,n_2,\cdots,n_k)_{\ge}$表示$n_1\ge n_2\ge \cdots \ge n_k\ge1$

原则上所有$p(n,k)$可有递推式逐个求得,例如:

11.定义

12.只需考虑$n\ge k$的情况,正整数$n$的$k$部分拆$p(n,k)$

注:当然除了这12种情况外还有一些情况,比如盒子中有部分相同部分不同。但往往这样

的情况的考察意义不大,因为很难期望会有一般的计数公式.

MT【100】经典计数之分配问题的更多相关文章

  1. 100+经典Java面试题及答案解析

    面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...

  2. HDU 4901 多校4 经典计数DP

    RT 最近不想写博客,累积了一周多的题目,今天趁着周日放假,全部补上吧 dp[i][j]表示前i个数,操作后的值为j的总个数 注意取或不取,有种完全背包的意味.因为数字小于1024,所以异或的结果也绝 ...

  3. ACM组合计数入门

    1 排列组合 1.1 排列 \[A_n^m=n(n-1)(n-2)\cdots(n-m+1)=\frac{n!}{(n-m)!} \] 定义:从 n 个中选择 m 个组成有序数列,其中不同数列的数量. ...

  4. 从零开始山寨Caffe·肆:线程系统

    不精通多线程优化的程序员,不是好程序员,连码农都不是. ——并行计算时代掌握多线程的重要性 线程与操作系统 用户线程与内核线程 广义上线程分为用户线程和内核线程. 前者已经绝迹,它一般只存在于早期不支 ...

  5. NOIP2017 国庆郑州集训知识梳理汇总

    第一天 基础算法&&数学 day1难度测试 如果要用一个词来形容上午的测试,那真是体无完肤.  成绩: 题目 成绩 评价 T1 50 一般 T2 10 大失所望 T3 0 差 基础算法 ...

  6. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  7. Phrase-Based & Neural Unsupervised Machine Translation基于短语非监督机器翻译

    1. 前言 本文介绍一种无监督的机器翻译的模型.无监督机器翻译最早是<UNSUPERVISED NEURAL MACHINE TRANSLATION>提出.这个模型主要的特点,无需使用平行 ...

  8. shell脚本57问

    [1]交互方式.非交互方式.Shell脚本是什么? 经常与linux打交道,肯定对shell这个词不陌生.不明白shell意思的,可以自行翻译:外壳.去壳. 这个翻译结果怎么可以与计算机系统联系起来呢 ...

  9. 推荐书单(转自GITHUB)

    Skip to content PersonalOpen sourceBusinessExplore Sign upSign in PricingBlogSupport   This reposito ...

随机推荐

  1. 编译最新的SQLite 3.8.4.3为一个DLL

    SQLite是一个小型数据库.特别适合于client应用程序使用,它的众多优点就不多说了.有兴趣的去搜索. 话说使用吧. 我们要使用.就须要调用它.如今一步一步来. 第一步:上SQLite官网http ...

  2. No CPU/ABI system image available for this target 解决办法

    经过了好几天的奋战,终于解决了这个问题.百度出来的方法真的是很垃圾了 最后用google,才解决出这个问题. 接下来,直入正题: 附上解决的链接:https://blog.csdn.net/doubl ...

  3. English_word_learning

    这次报名参加了学院的21天打卡活动,说实话,也是想给自己一个积累的平台. 毕竟,真的有时候感觉挺弱的 有的人用了一年考完了四六级,而有人却用四年还未考完. 听到有一位学长因为自己的四级成绩没有达到48 ...

  4. python_分布式进程中遇到的问题

    看文档学习分布式进程中遇到了一下问题,文档里面例题是python2.X,我用的python3.x,就出现了一下莫名奇妙的问题,最终版代码先呈上: taskManager.py # coding:utf ...

  5. android so壳入口浅析

    本文转自http://www.9hao.info/pages/2014/08/android-soke-ru-kou-q 前言   开年来开始接触一些加固样本,基本都对了so进行了处理,拖入ida一看 ...

  6. 20155204 王昊《网络对抗技术》EXP2 后门原理与实践

    20155204 王昊<网络对抗技术>EXP2 后门原理与实践 一.实验内容 准备工作(试用ncat.socat) 1. 使用netcat获取主机操作Shell,cron启动. 明确目标: ...

  7. TMS320VC5509片内ADC采集

    1. ADC采集比较简单,内部的10位的ADC,AIN0-AIN3的输入,主要是用的CSL的库函数#include <csl_adc.h> ; Uint16 samplestoraage[ ...

  8. [51Nod1238]最小公倍数之和 V3[杜教筛]

    题意 给定 \(n\) ,求 \(\sum_{i=1}^n \sum_{j=1}^n lcm(i,j)\). \(n\leq 10^{10}\) 分析 推式子 \[\begin{aligned} an ...

  9. dokuwiki编辑器修改-color插件-添加按钮

    需求 dokuwiki的编辑工具栏是以 MediaWiki 的为基础发展来的. 在它的编辑器color插件的颜色按钮中,我想添加新的按钮功能.如红色字体黄色背景的修饰,类似于涂中文字强调的意思. 步骤 ...

  10. web安全入门课程笔记——网站基础与信息搜集

    2-1 网站的基本概念 URL统一资源定位符 这是一个动态页面 ?ID 查询条件 后台数据库最有可能:ACCESS Web容器(web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而 ...