Square(斯特林反演)
题意
给出一个 大小的矩形,每个位置可以填上 中的任意一个数,要求填好后任意两行互不等价且任意两列互不等价,两行或两列等价当且仅当对应位置完全相同,求方案数 。
题解
这题是 Wearry 出的神题,根本不会做。。。把题解搬过来了。
首先我们有一个很简单的方式使得列之间互不等价,对于任意一列,总方案数是 , 那么使得列与列之间互不相同的方案数为 。
接下来的问题只与行数有关 , 定义 表示 行不保证每行互不等价的方案数 , 表示 行保证任意两行互不等价的方案数 , 有 :
考虑这个式子的意义,就是枚举了有几行是不同的,然后将 行分成这 种不同的行(每个非空)的方案。
然后考虑斯特林反演就行了。(此处指不带符号的第一类斯特林数)
然后在 的时间里求出第一类斯特林数,就可以做完了。
其实还有更快的求法,但是对于这题原来数据没有必要。
见此博客 orz orz 生成函数大师 SunwayShichengLight 。
瓶颈在分治 处理下降幂那里,可以优化到 。
总结
对于行列计算方案的题,常常可以考虑枚举一维,用容斥或者斯特林反演做。
对于另外一维可以快速计算可行的方案,来除掉一维的限制。
代码
自己写
__EOF__

本文作者:zjp_shadow
本文链接:https://www.cnblogs.com/zjp-shadow/p/9755635.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zjp-shadow/p/9755635.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
标签:
斯特林反演
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】