【NOIP2007 普及组】 问题求解题 (子集划分)+Floyd算法

497 篇文章 18 订阅
291 篇文章 61 订阅

将n个数(1,2,…,n)划分成r个子集。每个数都恰好属于一个子集,任何两个不同的子集没有共同的数,也没有空集。将不同划分方法的总数记为S(n,r)。例如,S(4,2)=7,这7种不同的划分方法依次为{(1),(234)},{(2),(134)},{(3),(124)},{(4),(123)},{(12),(34)},{(13),(24)},{(14),(23)}。当n=6,r=3时,S(6,3)=______________。

(提示:先固定一个数,对于其余的5个数考虑S(5,3)与S(5,2),再分这两种情况对原固定的数进行分析。)

解析:

假设已知n-1个球放置的情况数,如今要多加入一个球,有两种新情况:

一是放入原有球的箱子,即情况数为S(n-1,r)*r(每种情况中放入任意一箱子都是新情况,所以乘以箱子数r)

二是取出所有球,让新加入的球独占一个箱子,则余下r-1个箱子可放球,有n-1个球可用来放,即情况数为S(n-1,r-1)。

综上,得出

S(n.r)=S(n-1,r)*r+(n-1,r-1)


S(n,1)=1

S(n,n)=1

s(2,2)=1

s(3,3)=1

s(3,2)
=s(2,1)+2*s(2,2)
=1+2*1=3

s(4,3)
=s(3,2)+3*s(3,3)
=3+3=6

s(5,3)
=s(4,2)+s(4,3)*3
=7+3*6=25


s(4,2)=7(题目中给出)

s(5,2)
=s(4,1)+2*s(4,2)
=1+2*7=15

s(6,3)
=s(5,2)+3*s(5,3)
=15+25*3=90




【NOIP2007 提高组】 问题求解题 

给定n个有标号的球,标号依次为1,2,…,n。将这n个球放入r个相同的盒子里,不允许有空盒,其不同放置方法的总数记为S(n,r)。例如,S(4,2)=7,这7种不同的放置方法依次为{(1) , (234)} , {(2) , (134)} , {(3) , (124)} , {(4) , (123)} , {(12) , (34)} , {(13) , (24)} , {(14) , (23)}。当n=7,r=4时,S(7,4)=_______。

答案:350



NOIP 提高组 初赛 三、问题求解 习题集(三)NOIP2006-NOIP2009

NOIP 提高组 初赛 三、问题求解 习题集(三)NOIP2006-NOIP2009_mrcrack的博客-CSDN博客

7个球放入4个箱子无非是2+2+2+1或者3+2+1+1或者4+1+1+1三种情况。

所以分别求解再加起来:C(7,1)*C(6,2)*C(4,2)*C(2,2)/P(3,3)+C(7*3)*C(4,2)+C(7,4)。




(建议收藏)一文多图,彻底搞懂Floyd算法(多源最短路径)

(建议收藏)一文多图,彻底搞懂Floyd算法(多源最短路径)_Big sai的博客-CSDN博客_floyd算法图解

最短路径Floyd算法【图文详解】

最短路径Floyd算法【图文详解】 - Angel_Kitty - 博客园

最短路径算法——清晰简单的弗洛伊德算法(Floyd)

最短路径算法——清晰简单的弗洛伊德算法(Floyd) - 知乎

floyd算法图文详解(全)_《羊卓的杨的算法笔记》_Quentin

floyd算法图文详解(全)_《羊卓的杨的算法笔记》_Quentin_羊卓的杨的博客-CSDN博客_floyd算法原理图解

直观理解:任意两点间最短路径——Floyd算法

https://www.jianshu.com/p/4d40cc525c07




7.11 最短路径——Floyd算法

7.11 最短路径——Floyd算法_哔哩哔哩_bilibili

8最短路径Floyd算法

8最短路径Floyd算法_哔哩哔哩_bilibili

Floyd最短路径

Floyd最短路径_哔哩哔哩_bilibili

程序员必会,单源最短路径,迪杰斯特拉算法,看动画就全明白了

程序员必会,单源最短路径,迪杰斯特拉算法,看动画就全明白了_哔哩哔哩_bilibili

最短路径算法(floyed+dijstra)

最短路径算法(floyed+dijstra)_哔哩哔哩_bilibili

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值