#P12292. [蓝桥杯 2024 国 Java A] 斗蛐蛐

    ID: 12188 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2024概率论蓝桥杯国赛状压 DP

[蓝桥杯 2024 国 Java A] 斗蛐蛐

题目描述

小蓝最近非常热衷于斗蛐蛐。她有 nn 只不同的蛐蛐,每只蛐蛐的战斗力都可以用一个数 aia_i 表示,含义是当第 ii 只蛐蛐攻击别的蛐蛐时有 aia_i 的概率打倒对方,有 1ai1 - a_i 的概率无事发生。

小蓝将 nn 只蛐蛐按编号由 11nn 顺时针的顺序排成一圈,然后从 11 号蛐蛐开始发生以下的过程直到只剩下 11 只蛐蛐:

  1. 这只蛐蛐以各 1/21/2 的概率选定顺时针或逆时针方向。
  2. 这只蛐蛐攻击这个方向上第一只未被打倒的蛐蛐。
  3. 无论这次攻击是否打倒了蛐蛐,顺时针方向的下一只蛐蛐开始行动。

现在小蓝希望知道,最后剩下的蛐蛐是 ii 号蛐蛐的概率是多少。为了防止精度误差,她希望你给出这个值在模素数 mm 下的结果。

输入格式

输入的第一行包含两个正整数 n,mn, m,用一个空格分隔。

第二行包含 nn 个正整数,其中第 ii 个正整数表示第 ii 只蛐蛐在模 mm 下的战斗力 aia_i

输出格式

输出一行包含 nn 整数,相邻整数之间使用一个空格分隔,其中第 ii 个整数表示最后一只蛐蛐是 ii 号蛐蛐的概率在模 mm 下的表示。

2 1000000007
500000004 500000004
666666672 333333336

提示

样例说明

一共两只蛐蛐,蛐蛐的战斗力都是 1/21/211 号蛐蛐攻击 22 号蛐蛐若成功,则 11 号蛐蛐获胜,若失败则相当于双方位置交换,所以最终 11 号蛐蛐获胜概率 pp 满足 p=1/2+1/2(1p)p = 1/2 + 1/2(1 - p) 解得 p=2/3p = 2/3

评测用例规模与约定

  • 对于 30%30\% 的评测用例,n8n \leq 8ai=(m+1)/2a_i = (m + 1)/2,即 aia_i 在模 mm 意义下为 12\frac{1}{2}
  • 对于 50%50\% 的评测用例,n8n \leq 8
  • 对于所有评测用例,2ai<m109+72 \leq a_i < m \leq 10^9 + 72n152 \leq n \leq 15mm 必定为一个大于 22 的素数。