[codevs1039]数的划分
这一题实际上是组合数学里面的经典问题,跟第二类Stirling数有些相似。可以把一个数值为n的数看成n个小球,划分的份数k看作是k个盒子,那么本题的要求就是:
将n个小球放到k个盒子中,小球之间与盒子之间没有区别,并且最后的结果不允许空盒
与第二类Stirling数的递推公式的推导过程相似:
将n个小球放到k个盒子中的情况总数 =
1. 至少有一个盒子只有一个小球的情况数
+
2. 没有一个盒子只有一个小球的情况数
这样进行划分的原因是这种分类足够特殊,1和2都有可以写出来的表达式:
1. 因为盒子不加区分,那么1的情况数与“将n-1个小球放到k-1个盒子中”的情况数一样
2. 没有一个盒子只有一个小球,那么把每个盒子中拿出来一个小球,对应的是“把(n-k)个小球放到k个盒子中的情况数”
至于1和2中的两种等价关系为什么成立,可以用集合A=集合B的方式去证明
最后将上面的叙述转化为dp的表达形式:
f[n][k]代表将n个小球放到k个盒子中且没有空盒的情况,那么
f[n][k] = f[n-1][k-1] + f[n-k][k]
这道题说是dp,其实就是递推
代码:
varf:array[0..1000,0..1000] of longint;m,n,i,j,k,l,ans:longint;beginreadln(n,k);for i:=1 to n dofor j:=1 to i dobeginf[i][j]:=f[i-j][j]+f[i-1][j-1];if (i=1) and (j=1) then f[i][j]:=1;end;writeln(f[n,k]);end.
喜欢就收藏一下,vic私人qq:1064864324,加我一起讨论问题,一起进步^-^
转载于:https://www.cnblogs.com/victorslave/p/4817687.html
[codevs1039]数的划分相关推荐
- 2001年 数的划分
数的划分 题目描述 将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序). 例如:n=7,k=3,下面三种划分方案被认为是相同的. 1 1 5 1 5 1 5 1 1 问有多少种不 ...
- ALGO-22 数的划分(DFS,经典剪枝)
ALGO-22 数的划分 时间限制: 1 Sec 内存限制: 128 MB 题目描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同 ...
- 【DP】数的划分(ybtoj DP-1-3)
数的划分 ybtoj DP-1-1 题目大意 给你一个n,让你分成k份,问有多少种分法(1,2和2,1为同一种) 输入样例 7 3 输出样例 4 样例解释 四种分法为:1,1,5;1,2,4;1,3, ...
- 算法训练 数的划分 动态规划
算法训练 数的划分 时间限制:1.0s 内存限制:256.0MB 问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. ...
- 2021上海高考小三门成绩查询,2021上海高考等级考分数怎么划分等级的
上海新高考3+3模式,与从前相比新增了一个等级考的概念.那么很多考生不知道上海高考等级考分数怎么划分等级的,下面一起带大家来看看. 关于等级考 改革之后的上海高考,统一考试的科目为: 大三门:语文.数 ...
- 蓝桥杯算法训练合集八 1.数的划分2.求先序排列3.平方计算4.三角形高5.单词复数
目录 1.数的划分 2.求先序排列 3.平方计算 4.三角形高 5.单词复数 1.数的划分 问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种 ...
- noi.openjudge_P8787数的划分
题目: 8787:数的划分 总时间限制: 1000ms 内存限制: 65536kB 描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序).例如:n=7,k=3,下面三种分法被认为是相 ...
- 【NOIP2001】【codevs1039】数的划分
problem solution codes //step1:把n个苹果放到m个盘子里,不允许有空盘.等价于每个盘子放一个苹果先允许有空盘 //step2:f[i][j]表示i个苹果j个盘子的放法数目 ...
- 【集合论】Stirling 子集数 ( 斯特林子集数概念 | 放球模型 | Stirling 子集数递推公式 | 划分的二元关系 加细关系 )
文章目录 一.Stirling 子集数 二.放球模型 三.Stirling 子集数递推公式 四.Stirling 子集数示例 ( 四元集等价关系个数 ) 五.划分的二元关系 加细关系 一.Stirli ...
最新文章
- 警惕!国内某广告SDK内置“后门”功能,Google Play商店已强制下架
- 111.二叉树的最小深度
- FPGA逻辑设计回顾(6)多比特信号的CDC处理方式之异步FIFO
- k8s中几种port介绍
- 2048(lj模拟)
- Windbg教程-调试非托管程序的基本命令中
- chmod 777 修改权限
- Qt:Windows编程—Qt实现本地服务管理
- 信息学奥赛C++语言:平方值
- 磕头如捣的拼音及解释
- github速成手册
- 排序算法——直接选择排序
- 通达信 移动平均算法_财富趋势,它的产品叫通达信
- 基于python的词频分析
- Windows下的hiberfil.sys文件及其作用
- Office 2010 word无法创建工作文件 请检查临时环境变量
- 怎样做一个软件项目经理? ----写给公司全部的开发者
- 从零到大神,135排版训练营给你实实在在的排版!
- 计算机操作系统的加密与恢复,当在 Windows中设置 FIPS 兼容策略时,BitLocker 的恢复密码Windows...
- 【C++基础知识】常成员函数,常引用
热门文章
- 【CodeForces - 260C】Balls and Boxes (思维模拟,有坑,时光倒流)
- 【HDU - 1251 】统计难题(字典树,求拥有公共前缀的字符串数量)
- 【CodeForces - 124D】Squares (旋转坐标系,计算几何,思维)
- Apollo进阶课程 ① | 带你纵览无人车
- java中实现线程互斥的关键词_简单的互斥同步方式——synchronized关键字详解
- 命运2服务器维护时间2019,《命运2》今晚将停机维护 为多平台共用存档做准备...
- 《盘点那些秀你一脸的秒天秒地算法》(4)
- 《Head First设计模式》第七章-适配器模式、外观模式
- nginx代理配置根据ip地址来转发到不同的地址端口
- 大数据学习(0)-大数据知识框图