2023.7.22 闲话

最近都什么逆天模拟赛,这把 MO 高联二试构造都出出来了,报复社会吗这是 .

Unknowinds

Jocelyn 是一个喜欢玩游戏的女孩子,她正在玩一款全新上架的游戏 Free Unknowinds Passing,具体玩法如下:

游戏整体由一个向右向上无限延伸的棋盘组成,游戏开始时,Jocelyn 会出生在棋盘的左下角 (0,0)

Jocelyn 持有一个长度为 m 的序列 {Sm},初始 S1,2,3,,w。Jocelyn 需要从 (0,0) 走到 (wm,w+m),他每次只会向右走一步或者向上走一步。

当到达终点的时候,他会选择一个新的序列 SS,并且回到 (0,0) 重新开始一轮游戏。特别的,如果她已经进行了 n 轮游戏,则她会退出游戏,不再进行游玩。

Jocelyn 是一个喜欢计数的女孩子,所以她想知道合法的操作方案的数量,两种方案本质不同当且仅当存在一轮游戏选择的序列不同,或者存在一步走的方向不一样。因为答案太大,所以只需要输出对 109+7 取模后的值即可。

1n,w2×106

一些报复社会的东西还是不要放了吧 .

考虑朴素 DP 即可得到答案的递推式:

S(n,r)=k=0r(rk)(2wwk)S(n2,i)

断言:答案等于:

S(n,r)=(w+rr)1k=rr(1)k(w+rr+k)(w+rw+k)(2ww+k)n2

证明:

考虑证明如上答案满足递推 .

引理:(a+ba+k)(a+bb+k)=i=0ak(a+b)!i!(i+2k)!(aki)!(bki)! .

关于证明,考察 RHS=(a+b)!(2k)!(ak)!(bk)!F(ka,kb2k+1|1)=(a+ba+k)(a+bb+k) 即得,最后一步是 z=1 时高斯超几何级数的计算公式 .

F(r,n,k)=(w+rr+k)(w+rw+k)(2ww+k)n2,则可以得到朴素的递推:

F(r,k)=(w+rr+k)(w+rw+k)F(w,k2)

同时,又可以用 F 表出 S(n,r),结合刚刚得到的递推以及 Lemma,可得:

S(n,r)=k=rri=0rk(1)kF(w,k)r!w!i!(i+2k)!(rki)!(wki)!=l=0rr!w!(rl)!(wl)!k=ll(1)kF(w,n2,k)(lk)!(l+k)!(l=i+k)=k=0w(wk)(2wwk)S(n2,i)

注:对于最后一个等号,考虑

F(w,n,k)=(lk)!(l+k)!(2w)!(w+l)!(w+l)!F(l,n+1,k)

由此,命题获证 .

那么直接计算就可以了,时间复杂度 Θ(wlogn),可以通过 .

posted @   yspm  阅读(72)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2022-07-22 2022 暑假 accoders 比赛题解
😅​
点击右上角即可分享
微信分享提示