CF1479E School Clubs 题解

感觉这种题都比较套路。

思路#

我们考虑定义势能函数 Φ(x),满足:

  • 对于一个随机过程,E(Φ(Ax+1)Φ(Ax)|Ax,,A0)=1
  • Φ(At) 为定值,并且 Φ(At)=Φ(Ai) 当且仅当 i=t

此时,Φ(x)+x 为离散时间鞅。

根据停时定理,E(Φ(At)+t)=E(Φ(A0))

所以有 E(t)=Φ(At)Φ(A0)Φ(At),Φ(A0) 都是定值)。

我们定义 f(ai)ai 个学生的组的势能。

Φ(x)=f(ai)

所以有:

i=1mf(ai)1=i=1main(12(f(1)+f(ai1))+12(ainf(ai)+nainf(ai1)))+nain(ai2nf(ai+1)+f(ai))

不妨加强限制,钦定:

f(x)xn=xn(12(f(1)+f(x1))+12(xnf(x)+nxnf(x1)))+nxn(x2nf(x+1)+f(x))

化简一下:

(x2n2+x(nx)n2)f(x)xn=x2nf(1)+x2nf(x1)+x(nx)2n2(f(x1)+f(x+1))3nx2x22n2f(x)xn=x2nf(1)+x2nf(x1)+x(nx)2n2(f(x1)+f(x+1))(3nx2x2)f(x)2nx=nxf(1)+nxf(x1)+x(nx)f(x1)+x(nx)f(x+1)f(x+1)=(3nx2x2)f(x)(2nxx2)f(x1)+nxf(1)2nxx(nx)f(x+1)=(3n2x)f(x)(2nx)f(x1)+nf(1)2n(nx)

发现后面的不好消除。

但我们可以直接钦定 f(1)=2,此时 f(0)=0

所以有:

f(x+1)=(3n2x)f(x)(2nx)f(x1)(nx)

直接递推维护就可以做到 O(nlogmod+m) 的复杂度啦。

Code#

https://codeforces.com/contest/1479/submission/286225197

作者:JiaY19

出处:https://www.cnblogs.com/JiaY19/p/18575364

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

posted @   JiaY19  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示