CF1139D Steps to One(期望DP+容斥+数论)

题目链接

题意:
有 一 个 空 数 列 a 有一个空数列a a
每 次 从 1 − m 中 随 机 选 一 个 数 x , 放 入 数 列 a 每次从1-m中随机选一个数x,放入数列a 1mxa
如 果 数 列 a 所 有 数 的 g c d 为 1 , 则 停 止 如果数列a所有数的gcd为1,则停止 agcd1
否 则 重 复 选 数 操 作 否则重复选数操作
求 数 列 长 度 的 期 望 求数列长度的期望
题解:
可 以 发 现 , 如 果 数 列 中 已 经 有 数 可以发现,如果数列中已经有数
不 论 你 往 里 放 哪 个 数 , 这 个 数 列 的 g c d 都 不 会 增 大 不论你往里放哪个数,这个数列的gcd都不会增大 gcd
只 会 保 持 当 前 状 态 , 或 者 比 当 前 状 态 小 只会保持当前状态,或者比当前状态小
这 就 奠 定 了 D P 的 基 础 , 但 是 需 要 倒 着 创 建 和 转 移 这就奠定了DP的基础,但是需要倒着创建和转移 DP
这 样 就 可 以 创 建 一 个 d p [ i ] 表 示 当 前 数 列 的 g c d 为 i 时 , 最 终 能 够 停 止 的 期 望 长 度 这样就可以创建一个dp[i]表示当前数列的gcd为i时,最终能够停止的期望长度 dp[i]gcdi

然 后 考 虑 转 移 方 程 然后考虑转移方程
当 前 状 态 i 可 以 由 1 − m 和 它 g c d 的 状 态 转 移 过 来 当前状态i可以由1-m和它gcd的状态转移过来 i1mgcd
转 移 方 程 为 d p i = 1 + ∑ i = 1 n d p [ g c d ( i , j ) ] n 转移方程为dp_i=1+\sum_{i=1}^n\frac{dp[gcd(i,j)]}{n} \quad dpi=1+i=1nndp[gcd(i,j)]
累 加 中 表 示 随 机 从 1 − n 选 一 个 数 进 行 放 入 累加中表示随机从1-n选一个数进行放入 1n
选 每 个 数 的 期 望 是 d p [ g c d ( i , j ) ] , 概 率 为 1 n 选每个数的期望是dp[gcd(i,j)],概率为\frac{1}{n} dp[gcd(i,j)]n1
由 于 需 要 的 长 度 增 加

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值