当前位置: 首页 > news >正文

9.8

ANIG

对于序列 \(\{a_n\}\),每次随机选择 \(i\)\(a_i\gets a_i+1\),求 \(a\) 前缀和数组的积的期望。

转化一下,先对 \(a\) 做一下前缀和,假设最后第 \(i\) 个位置变成了 \(a_i+b_i\),答案即为 \(\prod (a_i+b_i)\),这里考虑一个组合意义,将 \(b_i\) 看成和覆盖它的一个操作匹配,这样设 \(f_{n,m}\) 为 dp 到第 \(n\) 个数,前面所有数匹配的操作的集合大小为 \(m\) 的方案,那么对于 \(n\),要么选择 \(a_i\),要么匹配前面点匹配过的一个操作,要么匹配一个前面没有匹配的操作,\(O(n^2)\) 转移即可。

对于序列 \(\{a_n\}\),每次带权随机以 \(\frac{b_i}{\sum\limits_j b_j}\) 的概率将 \([i,i+m-1]\)\(a_i\) 加一,求 \(a\) 积的期望。

沿用上述组合意义转化,考虑一个点集 \(S\) 全都匹配到操作 \(x\),那么其贡献只和 \(S\) 的最左边和最右边的点有关,于是设 \(f_{n,m,S}\) 表示 dp 到第 \(n\) 个数,匹配集合的大小为 \(m\),前面 \([n-m,n]\) 的点是否被钦定为左端点并且还没有决定右端点的状态为 \(S\),dp 转移也是容易的。复杂度 \(O(n^2m2^m)\)

这个对 \(m>n/3\) 有另一种将序列划分为三块同时 dp,可以 \(O(n^6)\)

NineSuns

当决策单调性 dp 需要莫队计算 \(w(l,r)\),且 \(f_i\)\(f_j(j<i)\) 转移时的 \(O(n\log n)\) 做法。

\(p_i\) 表示 \(i\) 的最优决策点。

考虑分治,当分治到区间 \([l,r]\) 时,要求 \([0,l]\)\(f,p\) 都计算正确,计算结束后 \([l,r]\)\(p,f\) 都正确。

\(r\) 在只考虑 \([0,l]\) 的转移时 \(f,p\) 正确,由于决策单调性,故在只考虑 \([0,l]\)\(p_l\le p_{mid}\le p_r\),求出 \(p_mid\),然后递归到 \([l,mid]\),然后用 \([l+1,mid]\) 的值更新 \(r\),递归到 \([mid,r]\)

不难验证上述分治过程满足条件。在处理 \([p,p+1]\) 直接返回即可。

对于每一层,指针移动量是 \(O(n)\) 的,于是可以 \(O(nk\log n)\) 的复杂度处理,其中 \(k\) 是由 \(w(l,r)\)\(l,r\) 指针移动 \(1\) 后计算新 \(w(l‘,r’)\) 的复杂度。

http://www.rkmt.cn/news/305.html

相关文章:

  • nfs服务
  • 低功耗蓝牙BLE与小程序通讯
  • 深度解码你自己看着办:职场新人必须掌握的潜台词破解术
  • 记录一个Windows上的键盘鼠标模拟库和沟子库--Input
  • 数据集和数据系统_AI成为工作中很好用的协同成员了
  • IDM超详细图文安装激活教程,一次安装免费使用 Internet Download Manager
  • 标题
  • 12.5 多态与多态性
  • 集训日记
  • 从想法到代码:AI编程时代,我们如何高质量“喂养”AI?
  • 25年CSP前ds做题记录
  • CSP-S模拟18
  • python基础——函数小进阶
  • 别再猜了-开始测量吧-一份实用的Web性能指南
  • C++《C++11》(上) - 详解
  • 图论2 专题简记
  • 1
  • ClaudeCode实现简单需求文档分析与拆分
  • 【初赛】排序 - Slayer
  • LG11755
  • 「LAOI-9」Update
  • ABC393F
  • ABC389F
  • ABC150 C-F
  • 【游戏设计】五子棋设计思路
  • LG10516
  • Linux作业及状态转换
  • 设备驱动程序和设备独立性软件的区别
  • 树状数组板子
  • 网络流——OI复健