【AGC056E】Cheese(DP)
Cheese
题目链接:AGC056E
题目大意
给你一个环,边上有老鼠,然后会进行 n-1 次操作:
每次选一个一个点放一个奶酪(每个点的概率给出),然后奶酪会顺时针跑,每到一个老鼠就判定是否被吃,被吃了就那个老鼠和这个奶酪都没了。
要你求最后剩下某个老鼠的概率。
思路
首先做这个东西有一个很重要的点:
就是到时什么东西的顺序是有关系的。
你会发现这个奶酪的顺序没有太大的关系,最后用一个重排把类型乘起来就就可以了。
那我们就可以再让所有的奶酪先走到同一个位置(把放下的提前放下),然后再处理一直转圈的情况。
那一开始的东西我们考虑用 DP 求:
表示现在到 点,放了 个奶酪,已经有 个被吃了的情况。
然后你就根据两个东西转移:放奶酪和奶酪被吃。
放奶酪不难看,枚举在一个位置放这个奶酪的概率,然后在这个转移的时候不要忘记把重排的下面部分也乘上。
接着是看吃奶酪。
那我们就看这个位置吃不吃,怎么看概率呢,如果吃了就是这当前还在的 个里面有一个吃了,概率是 ,那没吃自然就是 。
然后接着考虑怎么转圈。
考虑对于 个奶酪在两个在剩下的 个老鼠中跑,考虑位置相邻的老鼠 ,它们两个谁会留下来。
如果都挂了或者都没有挂(就只看一轮),那都没有意义。
如果 挂了 没挂,那概率是
如果 挂了 没挂,那概率是
然后你看看他们两个的比例,会发现是 !
也就是说 ( 是 留下来的概率)
那显然 ,所以就是有
那我们要的是第一个,所以就是 。
然后用 DP 的 来搞,这里对应的就是 个老鼠的答案。
然后就好了。
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/AGC056E.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/AGC056E.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
标签:
DP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现