[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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言中用文件处理数据,C语言文件处理 -C语言从文件中读写格式化数据

从图 1 所示的文件 fin.txt 中读取学生姓名、身高和体重,计算并显示它们的平均值,并且将显示结果保存到文件 fout.txt 中。图 1:输入输出文件示例C语言代码清单 1:读取学生姓名、身高和体重,计算并显示它们的平均值#in…

MySQL于ON DUPLICATE KEY UPDATE采用

今天我们做的推断插入用途MySQL于ON DUPLICATE KEY UPDATE。现在,Mark下面!假设你想做的事,再有就是在数据库中插入数据没有数据、如果有数据更新数据,然后你可以选择ON DUPLICATE KEY UPDATE。 ON DUPLICATE KEY UPDATE可以在UNI…

C++中Static作用和使用方法

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 1、什么是static? static 是C中很常用的修饰符,它被用来控制变量的…

三星+android+7.0+自动纠正单词,升级党必看!三星S/Note系列更新Android 7.0指南

上周,雷科技(微信ID:leitech)曾为大家提供了一份Android 7.0升级预测名单。现在为了增加针对性,这次笔者就以三星最热门的两大旗舰S和Note系列为例,给大家提供一个全方面的更新指南。截至目前,三星S系列和Note系列的正…

iOS开发出错whose view is not in the window hierarchy!的解决

大熊猫猪侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个简单的单窗口App在运行时出现错误: 2016-04-07 14:28:48.411 BlurViewAndPopView[4364:168520] Warning: Attempt to present <UIAlertCon…

互联网年鉴

最近互联网行业&#xff0c;有一个词说的比较多了&#xff0c;“资本寒冬”。作为&#xff0c;一个在这个行业里干的人&#xff0c;真心是好怕怕呢。 妈蛋&#xff0c;真怕哪天就突然失业了呀。所以&#xff0c;无聊的(操蛋的)去整理了一些98年开始一直到现在的互联网中一些自己…

android oreo 开机动画,Android O添加了一个 Splash Screen API帮助简化启动屏制作

大多数开发者对闪屏(splash screen)都持不同的态度。一些人支持用闪屏隐藏app的加载&#xff0c;然后自然过渡到主界面&#xff0c;而另一些人认为闪屏不管是对用户还是开发者都是浪费时间。谷歌在这个问题上的立场也是不一的&#xff0c;以前不推荐使用闪屏的使用&#xff0c;…

C++空类默认函数

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 定义一个空的C类&#xff0c;例如 class Empty { } 一个空的class在C编译器处理过后就…

拼接SQL的一个技巧

2019独角兽企业重金招聘Python工程师标准>>> 为了避免判断是否要在字符串中加 AND 来连接查询条件&#xff0c;我们可以直接在在WHERE 后面写 id>0。 这样&#xff0c;我们在拼接条件的时候&#xff0c;就可以直接写 AND 了。 SELECT* FROM t_table WHEREid>0…

【Linux导论】Linux引导流程(The Boot Process)

原文 LFS101x.2 Introduction to Linux (Linux Foundation) Chapter 03: Linux Structure and Installation - Section 2: The Boot Process 引导流程 - (The Boot Process) 你是否想过&#xff0c;在你按下电源开关直至Linux登陆提示出现时&#xff0c;后台到底发生了哪些事&a…

String类 写出类的成员函数实现

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 已知String类定义如下&#xff1a; class String { public: String(const char *str …

android 管理类,android 线程管理类

1. 延时任务以及取消延时的应用场景&#xff1a;实时搜索&#xff0c;文字内容变化时候不发送请求&#xff0c;当停止变化指定时间后再发送请求2. 使用方法&#xff1a;// 回到主线程MainThreadHelper.runOnUIthread(new Runnable() {Overridepublic void run() {// pushActivi…

计算一行文本的高度

计算一行文本的高度 说明 有时候我们需要知道指定的几行文本的高度&#xff0c;此工具用于解决此种问题。 源码 // // NSStringLabelWidthAndHeight.h // ZiPeiYi // // Created by YouXianMing on 15/12/9. // Copyright © 2015年 YouXianMing. All rights reserved.…

python笔记-python编程优化:常用原则和技术介绍

本人翻译自《Exper Python Programming》 Premature optimization is the root of all evil in programming -Donald Knuth 优化的三原则 让它跑起来先一个非常常见的错误就是在编写代码之初我们就开始对代码进行优化。让人伤心的是这通常做的都是无用功&#xff0c;很多软…

C++成员函数重载、覆盖和隐藏的区别

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** C成员函数重载、覆盖和隐藏的区别class Base{public:void Walk(int x){ cout <<…

用fputc()函数以字符串形式写入字符到磁盘文件

2019独角兽企业重金招聘Python工程师标准>>> #include <stdio.h> #include <stdlib.h>int main(){FILE *fp;char ch;if((fpfopen("testfile", "a")) NULL){fprintf(stderr, "Error opening file.\n",fp);exit(1);}print…

android 浮动文字提示,Android实现自由拖动并显示文字的悬浮框

项目中需要实现一个状态显示的悬浮框&#xff0c;要求可以设置两种模式&#xff1a;拖动模式和不可拖动模式。实现效果图如下&#xff1a;实现步骤&#xff1a;1.首先要设置该悬浮框的基本属性&#xff1a;/*** 显示弹出框** param context*/SuppressWarnings("WrongConst…

Android4.2.2的Stagefright维护编解码器的数据流

这里是他们自己的源代码阅读点滴总结属性&#xff0c;转请注明出处&#xff0c;谢谢。欢迎和大家分享。qq:1037701636 email:gzzaigcn2012gmail.comAndroid源代码版本号Version&#xff1a;4.2.2; 硬件平台 全志A31前沿&#xff1a;在前面的博文中&#xff0c;基本提到的是stag…

PHP的安装

PHP的环境也是诸多服务器软件的必要因素之一&#xff0c;它是一个HTML内嵌式语言&#xff0c;在服务器端执行。由于PHP的开源高效化平台&#xff0c;所以搭建一个php环境是一个运维工程师必备的能力。现在lamp也有类似lnmp.org那种一键安装包&#xff0c;地址是http://yumlamp.…

android 横向铺满,Android开发全程记录(八)——设置ImageView显示的图片铺满全屏(适应魅族等不常见屏幕比例)...

为适应不同屏幕的手机&#xff0c;ImageView显示的图片可能不铺满屏幕&#xff0c;如果定高的话&#xff0c;两边可能会出现空白。魅族手机就会有这种情况&#xff0c;在其他手机里显示正常&#xff0c;在魅族手机里显示&#xff0c;图片左右两边会出现空白&#xff0c;为解决这…