假面
这道题目我维护每个回合每个人的每种血量的概率想到了,甚至DP也想到了,但是这个DP的方法太新了
因为本来维护每个回合每个人的每种血量的概率后,我们如果用组合数去选出若干个人计算概率,肯定时间复杂度太大了,这个时候我们一般都是用DP去统计满足条件的概率,所以要用DP,而且比较容易想到要计算
见这篇题解
一些解释:
文章中说“
复杂度
最后倒着求那里,
update 2024.5.4
自己独立做出来啦,所以要相信自己呀
首先来看第二问吧,根据我们对期望的理解(这个理解具体见罗森的离散数学教材),直接暴力DP每个时刻每个人不同血量的概率就好了(由于题目求的期望只针对每一个人,所以我们一个人一个人地考虑,对于一个人,实验就是其所有时刻的血量,一个实验的子实验就是其各个时刻的血量)
然后是第一问,就像先前所说的一样,用组合数的话时间复杂度太大了,此时考虑DP,我们现在要知道的信息就是被选中的
update 2024.8.11
一般遇到这种有一个特殊元素的,我们考虑枚举特殊元素,然后单独考虑其左边和右边的DP,再尝试合并,但是这里这么做仍然会超时;所以另一种解决方案就是利用整体与个体的关系去进行推导,这个也要记住
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构