1 条题解
-
0
题解
思路
记模数为 ,,。只要当前分组有 人,编号的相对顺序仍然唯一决定任意一场比赛的胜率,因此其后续比赛期望只与 有关。记这个期望为 。
再记:
- :从 个有序顶点中选出 个,使这 个顶点全部输给其余顶点的概率之和;
- : 个顶点形成强连通竞赛图的概率。
做法
子任务 1:枚举竞赛图
当 时,每张竞赛图只有 条边。枚举所有边的方向,用两次图遍历判断强连通,并按每张图的概率累加 。再枚举顶点子集求 ,即可代入下文的期望递推。
复杂度为 。
子任务 2:枚举顶点子集
固定 和一个大小为 的子集 。要求所有 中顶点输给补集顶点,跨越割的每条边方向就都被确定了,其概率是若干个 与 的乘积。枚举所有子集并累加,便能得到全部 ;随后按相同递推计算 。
复杂度为 ,足以通过 。
子任务 3:二次动态规划
考虑加入编号最大的第 个顶点。若它不在所选的 个败者中,需要它战胜这 人,贡献 ;若它在败者集合中,则前 人中选择 人,且它需要输给其余 人,贡献 。因此
$$c_{i,j}=c_{i-1,j}q^j+c_{i-1,j-1}p^{i-j},\qquad c_{i,0}=1.$$竞赛图的强连通分量缩点后形成唯一的链。按链末端强连通分量的大小划分所有情况,可得
若链末端分量大小为 ,本轮与后续贡献为
当整张图强连通时,本轮进行了 场比赛,之后仍回到同样的 人状态。于是
$$f_i=\sum_{j=1}^{i-1}s_jc_{i,j} \left(\binom j2+j(i-j)+f_j+f_{i-j}\right) +s_i\left(\binom i2+f_i\right).$$移项得到
$$f_i=\frac{ \sum_{j=1}^{i-1}s_jc_{i,j} \left(\binom j2+j(i-j)+f_j+f_{i-j}\right) +s_i\binom i2}{1-s_i}.$$所有除法均用模逆元完成。
复杂度
满分算法的总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1500
- 时间
- 3000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者