BZOJ 2969: 矩形粉刷(期望)
题意
给你一个的方阵,不断在上面刷格子。每次等概率选择方阵中的两个点(可以相同)将以这两个点为端点的矩形(边平行于矩形边界)进行染色。共染次,问最后被染色的格子的期望值。
题解
(参考了liu_runda大佬的博客)
这真是一道好题~ 思维比较巧妙~
因为我们无法直接考虑每个点次后被染色的期望(想一想,为什么)
正难则反,我们可以考虑次后没被染色的期望,所以原来被染色的期望就可以转化为没有被染色的期望。
然后期望的线性性使得我们能够直接计算出每个点的答案。
我们先求它一次没有被染色的期望,在求它的次方就行了。
我也不是直接求它没被染色的期望,而先求它被染色的期望,再用它就行了。
注意我这里化了两次,一次是求次时,一次是求单次的时候,两次化的不同 也就是最后被染色的期望就是
则先求它左上方选个点(要包括该点,后同)和右下方选点的方案数 加上 它右上方和左下方选点的方案数。
这个可以直接乘法原理算出来,但这个会算重复,可以画个图理解理解(我没画图,就调了贼久。。)
就是它所在的列和行的期望会算两遍,所以我们要减去这些贡献。然后中间的又少算了一遍,又要加上。
因为我们选择是有序的,但它选择是无序的,所以要乘上一个。
但有一个特殊点我一直算错了,就是自己本身选两遍的方案不能乘,因为你本身考虑的就是无序的了。
然后用当前的方案数除以总方案数就可以得出它一次被染色期望了,然后瞎搞搞就行了。
我的代码应该是网上所见的最简洁的了QAQ
代码
__EOF__

本文作者:zjp_shadow
本文链接:https://www.cnblogs.com/zjp-shadow/p/8480525.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zjp-shadow/p/8480525.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】