洛谷2025省选模拟赛D1T1“Ball” 题解

洛谷2025省选模拟赛D1T1“Ball” 题解

首先可以写出一个暴力的 dp :

fi,j 表示有 i 个选了一次的球和 j 个选了大于一次的球的期望答案,有等式:

fi,j=jnfi,j+nijnfi+1,j+infi1,j+1

进一步得 fi,j=nijnjfi+1,j+injfi1,j+1

复杂度 O(mn2)

概率期望dp不要怕遇到环,转移环的性质,反而往往是优化算法的关键。

发现每一次只有边界不同而转移方式相同于是套路的将过程反转,组合意义就是从”期望“变为”概率“,复杂度 O(n2+nm)

发现高次方很神奇,考虑将其拆开,于是 E(Xi)=j=0i{ij}j!E(Xj)

当看到计数里有组合数时,应该考虑用组合意义设计状态

E(Xi) 表示从恰好选择一次的小球中选走 i 个的方案数,令 gi,j 表示现在至少拿了一次的球有 i 个,从中选走 j 个球的期望方案数。 假设选择了 k 个恰好拿了一次的球,并考虑转移:

  • 这次拿了一个拿过多次的球,概率 ikn,转移到 gi,j

  • 这次拿了一个拿过一次但未被选走的球,概况 kjn,转移到 gi,j

  • 这次拿了一个被选走的球,这是不合法的,因为其既然能被选走,说明最终其也是仅被拿了一次。所以概率为 jn,权值为 0

  • 这次拿了一个没有拿过的球并直接选走,概率 nin,转移到 gi+1,j+1

  • 这次拿了一个没有拿过的球但不选走,概率 nin,转移到 gi+1,j

整理可得:

gi,j×nini+jgi+1,jgi,j×nini+jgi+1,j+1

复杂度 O(nm)

答案为 E(Xi)=j=0i{ij}j!gn,j

对于这道题就是把 "先算概率再乘组合数"的顺序换成了,通过转移一边算概率一边算组合数。

可能有小朋友在设计 g 的时候把 k (定义见上文)也会带上,变成:

gi,j,k×kjni+kgi,j,k1gi,j,k×nini+kgi+1,j,kgi,j,k×nini+kgi+1,j+1,k

这是一个比较唐的行为因为明明可以直接:

把要求的那一坨设在一起,直接转移

如果真设错了并且没有意识到,我觉得难以通过数学推导手段改过来,如果真的想改我觉得也就只能:

通过设一个和式考虑整体转移,或者说通过添加自环改变权值。

hi,j=kgi,j,k

首先我们将其还原(或者说通过添加自环改变权值)

gi,j,k×kjngi,j,k1gi,j,k×ikngi,j,kgi,j,k×ningi+1,j,kgi,j,k×ningi+1,j+1,k

然后发现后两行不带 k。由于 是”贡献“的意思,我们可以直接替换为 h,对于左边,如果转移系数与 k 无关,我们也可以将其替换:

gi,j,k×kjnhi,jgi,j,k×iknhi,jhi,j×ninhi+1,jhi,j×ninhi+1,j+1

然后发现前两行居然转移居然起点终点都相同,那么我们可以将其合并

gi,j,k×ijnhi,jhi,j×ninhi+1,jhi,j×ninhi+1,j+1

然后惊奇的发现转移系数也不带 k 了于是替换为 h

hi,j×ijnhi,jhi,j×ninhi+1,jhi,j×ninhi+1,j+1

去掉自环得:

hi,j×nini+jhi+1,jhi,j×nini+jhi+1,j+1

转化成功。

作者:lupengheyyds

出处:https://www.cnblogs.com/lupengheyyds/p/18739792

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   lupengheyyds  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示