ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AGC038E

2022-07-11 21:35:05  阅读:119  来源: 互联网

标签:min max sum 元素 容斥 AGC038E dp


题面

有一个随机数生成器,生成 \([0,n-1]\) 之间的整数,其中生成 \(i\) 的概率为 \(\frac{A_i}{S}\),其中,\(S=\sum A_i\)。

这个随机数生成器不断生成随机数,当 \(\forall i\in[0,n-1]\),\(i\) 至少出现了 \(B_i\) 次时,停止生成,否则继续生成。

求期望生成随机数的次数,输出答案对 \(998244353\) 取模的结果。

数据范围:\(A_i,B_i\geq 1\),\(\sum A_i,\sum B_i,n\leq 400\)。

题解

第一次做 \(\min-\max\) 容斥题....

要知道 \(\min-\max\) 容斥到底在干什么。

我们记 \(a_i\) 表示第 \(i\) 个条件满足的时间,那么这里就是要求 \(E(\max_{i=1}^n(a_i))\) 。

然后已知:\(E(\max(S))=\sum\limits_{T\subseteq S}(-1)^{|T|+1}E(\min(T))\) ,那么我们就可以转换成求 对于每一个子集 \(T\) ,求存在一个元素满足条件的期望步数。

但是这里 \(n\) 很大啊,是不是没法做了?

其实没有关系,因为我们可以通过dp转移!

所以现在还是要老老实实推对于一个子集 \(T\) 的答案是什么。

这里我们终于可以枚举步数了,因为这很明显是有限的。

考虑对于 \(T\) 来说,\(E(\min(T))=\sum_\limits{i=1}^{\sum B_i}f(i)\) ,其中 \(f(i)\) 的含义就是 \(i\) 次之后 \(T\) 中还是没有一个元素满足的概率。

注意,这个式子是不对的,因为我们无法保证每次都能选到 \(T\) 中的元素,所以还要答案还要乘上 \(\frac{\sum A_i}{S}\) ,\(S\) 就是全部的 \(A_i\) 和。

考虑 \(f(x)\) 怎么求?

\[\begin{aligned} f(x)=&\sum_{\sum c_i=x,0<c_i< b_i}\prod_i\left(\frac{A_i}{\sum A_j}\right)^{c_i}\frac{x!}{\prod_i c_i!}\\ =&\left(\sum A_j\right)^{-x}x!\sum_{\sum c_i=x}\prod_i\frac{(A_i)^{^{c_i}}}{c_i!} \end{aligned} \]

发现转换成这样之后我们就可以dp求了!

设 \(f_{i,j,k}\) 表示考虑到第 \(i\) 个元素时,\(\sum A_i=j,\sum c_i=k\) 的容斥权值和(带上了 \((-1)^{|T|+1}\) 的系数)

转移的时候我们就枚举这个元素选不选,选的话 \(c_i\) 为几。可以列转移式:

\[f_{i,j,k}=f_{i-1,j,k}-\sum_{p=0}^{b_i-1} f_{i-1,j-a_i,k-p}\times (A_i)^{p}p! \]

为什么中间是 \(-\) ?

因为根据容斥,没选一个新的,对应的 \(|T|\) 加 \(1\) ,那么 \((-1)^{|T|+1}\) 就会变号。

还有!初值 \(f_{0,0,0}=-1\) !因为 \((-1)^{|\varnothing|+1}=-1\) 。

但是这个dp是不是 \(O(n^4)\) 的?其实不是,因为 \(\sum b_i=400\) ,所以其实是 \(O(n^3)\) 的。

启发

  • "对于多个元素要满足条件,求所有元素都满足的期望 " 这种问题要考虑 \(\min-\max\) 容斥转换成可以在有限步数内枚举的 "任意一个元素满足" 问题!
  • 即使容斥时元素个数很多,也是可以用 dp 得到所有权值和的。
  • 容斥时 dp 的初值需要注意。

标签:min,max,sum,元素,容斥,AGC038E,dp
来源: https://www.cnblogs.com/qwq-123/p/16468021.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有