[cf 947E] Perpetual Subtraction

    题意

    现在有个正整数x,你要进行m轮操作,每次将x随机变为[0,x]中的一个整数。
    m轮之后,这个数为i(0ix)的概率。

    题解

    考虑一个normaldp:设fi,j表示第i轮后,这个数为j的概率,则:
    fi,j=kjfi1,k1k+1
    则可以写出转移矩阵:
    T=[112131n+1012131n+100131n+10001n+1]
    设初始向量为b,则最后要求的是Tmb
    这样是O(n3logn)的。
    考虑优化。像这样的线性递推,一般能做到O(n2),做到O(nlognlogk)的做法很难……

    另辟蹊径。有一种高妙的相似对角化做法。
    有定理,一个矩阵如果是线性无关的,则必定可以相似对角化。
    S=PTP1,其中P是可逆矩阵,S是对角矩阵。
    求这个S的过程一般分为几步:求矩阵T特征值和特征向量->将特征向量当列向量排列于矩阵P中->计算S

    考虑T的特征值,特征值即满足v0,Tv=λvλ,其充要条件是|TλI|=0
    由于
    |TλI|=|λ12131n+1012λ131n+10013λ1n+10001n+1λ|=|λλ00012λλ00013λ00001n+1λ|=0
    这个行列式直接用定义式求,得出
    (1λ)(12λ)(1n+1λ)=0
    则所有特征值为1,12,,1n+1

    接着考虑特征向量,特征值即满足v0,Tv=λvv
    尝试进行小范围的模拟计算,可以得出结果:
    满足Tvi=1ivivi


    proof1




    proof2
    又因为。有了能用几次多项式卷积快速计算出。
    但是如果没有好的性质,也是无济于事的。但是事实证明,是一个对角矩阵。
    proof3


    考虑对角矩阵的幂次很好求,相当于把和前面几个矩阵依次用卷积卷一卷就出来了。
    复杂度是的。

    proof1:
    即证明,亦即
    如下:

    其中用到了杨辉三角一斜列求和和牛顿二项式定理的导出式。
    杨辉三角一斜列求和:

    牛顿二项式定理的导出式:

    proof2:
    即证明:

    又因为

    通过二项式反演,得


    proof3:
    由于



    是对角阵


    另附生成函数做法(图片出自_rqy's Blog)。
    o_947e_1.PNG
    o_947e_2.PNG

    转载于:https://www.cnblogs.com/psimonw/p/11552565.html

    登录后您可以享受以下权益:

    ×
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值

    举报

    选择你想要举报的内容(必选)
    • 内容涉黄
    • 政治相关
    • 内容抄袭
    • 涉嫌广告
    • 内容侵权
    • 侮辱谩骂
    • 样式问题
    • 其他
    点击体验
    DeepSeekR1满血版
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回顶部