#P7491. 「Stoi2031」蒲公英的约定(vol.2)

    ID: 6546 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>数学博弈论期望Nim游戏

「Stoi2031」蒲公英的约定(vol.2)

题目背景

一起长大的约定 那样清晰 拉过勾的我相信 说好要一起旅行 是你如今 唯一坚持的任性 ——《蒲公英的约定》

题目描述

清和如在玩游戏。她们有 nn蒲公英,每丛分别有 sis_i 朵。这些 蒲公英 有一个神奇的性质:有一个给定的常数 σ(0,1)\sigma \in (0,1)xx蒲公英 会分出 σx\lfloor \sigma x \rfloor 朵为一组,剩下 xσxx-\lfloor \sigma x \rfloor 朵继续分组,直到分出的组没有 蒲公英σx=0\lfloor \sigma x \rfloor=0 为止。她们称这种现象为 任性。现在她们的每丛 蒲公英 都有 任性 的现象。她们的游戏规则如下:从清开始,两人轮流进行 旅行。一次 旅行 为选择一丛 蒲公英 并吹散这一丛的第一组中的若干朵 蒲公英,至少要吹一朵,至多吹的朵数为第一组的朵数,即不能吹散除第一组外的 蒲公英。当第一组为空时,其下一组成为第一组。若这一丛只剩下一组 蒲公英,这一丛不能再被选定。每丛 蒲公英 都不能被选定时,游戏结束,当前轮到的人落败。她们想知道如果清第一次 旅行 时等概率选择其中一丛可吹散的 蒲公英 再等概率选择吹散的朵数后两人都按最优策略操作,那么清的胜率 xmod20190816170251x \bmod{20190816170251} 的值将会是多少。

与 vol.1 的区别是,蒲公英 在被吹散一部分后 重新分组。

输入格式

第一行两个正整数 id,nid,n,其中 idid 表示 Subtask 编号。

第二行 nn 个正整数,第 ii 个表示 sis_i

id>3id>3,第三行输入两个正整数 p,qp,q 表示 σ=pq\sigma=\dfrac{p}{q}

输出格式

一行一个整数,表示清的胜率 xmod20190816170251x \bmod{20190816170251}

4 3
1 1 1
1 6

0

6 3
1 7 3
1 3

15143112127689

提示

简述版题意:

nn蒲公英,第 ii 丛有 sis_i 朵。给定实数 σ\sigma,两人轮流操作,每次操作可以选择一丛 蒲公英,并选择一个整数 c(0,σs]c \in (0,\sigma s],从这丛 蒲公英 中吹散 cc 朵,其中 ss 为操作之前这丛 蒲公英 的朵数。必须至少吹一朵,不能操作者败。求先手第一步等概率选择任意一丛可操作的 蒲公英 再等概率选择吹散的朵数后两人都采取最优策略时先手的胜率 xmod20190816170251x \bmod{20190816170251} 的值。

样例解释:

对于样例 11,清无法操作,胜率为 00

对于样例 22,清可以选择第 22 丛并在两种操作中选择吹散 22 朵变成 1,5,31,5,3,或选择第 33 丛并选择唯一的操作变成 1,7,21,7,2,且第 11 丛不能选择,总胜率为 12+12=34\dfrac{\frac{1}{2}+1}{2}=\dfrac{3}{4}

数据范围:

本题采用捆绑测试,各个 Subtask 的分数与限制如下。

Subtask No. nn \le sis_i \le σ\sigma 限制 分值
11 3×1053 \times 10^5 101010^{10} σ=2+13\sigma=\dfrac{\sqrt{2}+1}{3} 1010
22 σ=3+15\sigma=\dfrac{\sqrt{3}+1}{5}
33 σ=512\sigma=\dfrac{\sqrt{5}-1}{2}
44 100100 11 33
55 100100 σ=12\sigma=\dfrac{1}{2} 77
66 10610^6 1313
77 3×1053 \times 10^5 101010^{10} σ12\sigma \ge \dfrac{1}{2} 4747

对于 100%100\% 的数据,$1 \le n \le 3 \times 10^5,1 \le s_i \le 10^{10},1 \le p<q \le 10^9$。

本题读入量较大,可以选择使用比赛描述中的快速读入模板以加快读入速度。