斯特林数(Stirling数)
题目链接
3165. 第一类斯特林数
3166. 第二类斯特林数
3020. 建筑师
第一类斯特林数(无符号)性质
第一类Stirling数表示将 个不同元素构成 个圆排列的数目,记为 或
递推式:
①
②
③
④
⑤
⑥
⑦
⑧
第二类斯特林数性质
第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或
递推式:
通项公式:
①
②
③
④
⑤
⑥
⑦
⑧
两类斯特林数的关系(置换性):
例题
3165. 第一类斯特林数
第一类斯特林数(斯特林轮换数) 表示将 个两两不同的元素,划分为 个非空圆排列的方案数。
现在,给定 和 ,请你求方案数。
圆排列定义:圆排列是排列的一种,指从 个不同元素中取出 个不同的元素排列成一个环形,既无头也无尾。两个圆排列相同当且仅当所取元素的个数相同并且元素取法一致,在环上的排列顺序一致。
输入格式
两个整数 和 。
输出格式
输出一个整数表示划分方案数。
答案对 取模。
数据范围
输入样例:
输出样例:
- 时间复杂度:
代码
3166. 第二类斯特林数
第二类斯特林数(斯特林子集数) 表示将 个两两不同的元素,划分为 个非空子集的方案数。
现在,给定 和 ,请你求方案数。
输入格式
两个整数 和 。
输出格式
输出一个整数表示划分方案数。
答案对 取模。
数据范围
输入样例:
输出样例:
- 时间复杂度:
代码
3020. 建筑师
小 是一个很有名的建筑师,有一天他接到了一个很奇怪的任务:在数轴上建 个建筑,每个建筑的高度是 到 之间的一个整数。
小 有很严重的强迫症,他不喜欢有两个建筑的高度相同。
另外小 觉得如果从最左边(所有建筑都在右边)看能看到 个建筑,从最右边(所有建筑都在左边)看能看到 个建筑,这样的建筑群有着独特的美感。
现在,小 想知道满足上述所有条件的建筑方案有多少种?
如果建筑 的左(右)边没有任何建造比它高,则建筑 可以从左(右)边看到。
两种方案不同,当且仅当存在某个建筑在两种方案下的高度不同。
输入格式
第一行一个整数 ,代表 组数据。
接下来 行,每行三个整数 。
输出格式
对于每组数据输出一行答案 。
数据范围
,
,
输入样例:
输出样例:
解题思路
第一类斯特林数
以最高的建筑作为分界线,左右分别分为 和 部分,设每一部分有 个建筑,除去该部分最高建筑外,有 种方案数,正好对应第一类斯特林数,即 ,现在就差分配方案数,可从 个建筑中选出 个建筑放在最高建筑的左边,即 ,故总的方案数为
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/15463249.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战