#P5616. [MtOI2019] 恶魔之树

    ID: 6326 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP数学2019洛谷原创O2优化期望洛谷月赛

[MtOI2019] 恶魔之树

背景

在 Kirito 和 Eugeo 还没有与 Alice 前往北之洞窟的时候,Eugeo 每天只能用龙骨斧砍恶魔之树——基家斯西达……

请忽略bilibili的水印

题目描述

Kirito 和 Eugeo 每天砍树觉得很无聊,于是开始比谁砍出好声音的次数多。渐渐地,他们发现这样也没有意思了,于是在这个基础上改了一点:

每个人去砍树前,会随机得到一个长度为 nn 的数列 s1,s2,…,sns_1, s_2, \dots, s_n 。最初每个人的得分都是 11,当第 ii 次砍出了一个好声音时,得分就变成了原来的得分与 sis_i 的最小公倍数,也就是常说的 lcm{\rm lcm}。

现在 Kirito 已经得到了一个长度为 nn 的数列 s1,s2,…,sns_1, s_2, \ldots, s_n 。他想知道,如果每一次砍出好声音的概率是 50%50\% 时他的期望得分。

由于 Kirito 不想看到小数,所以请你告诉 Kirito 答案乘 2n2^n 对 pp 取模的值。

输入格式

共 22 行。

第 11 行包含 22 个正整数 nn 和 pp ,代表数列的长度和给定的模数。保证模数为质数

第 22 行包含 nn 个正整数,第 ii 个数代表 sis_i。

输出格式

共 11 行,包含 11 个正整数,代表得分的期望值乘 2n2^n 对 pp 取模的结果。

3 998244353
1 2 3
24
10 998244353
1 2 3 4 5 6 7 8 9 10
516032

提示

样例解释 1

一共有 88 种情况:

  • 没有出现好声音,得分为 11,概率为 18\frac{1}{8}。

  • 只有第一次出现了好声音,得分为 11,概率为 18\frac{1}{8}。

  • 只有第二次出现了好声音,得分为 22,概率为 18\frac{1}{8}。

  • 只有第三次出现了好声音,得分为 33,概率为 18\frac{1}{8}。

  • 只有第三次没有出现好声音,得分为 lcm⁡(1,2)=2\operatorname{lcm}(1, 2)=2,概率为 18\frac{1}{8}。

  • 只有第二次没有出现好声音,得分为 lcm⁡(1,3)=3\operatorname{lcm}(1, 3)=3,概率为 18\frac{1}{8}。

  • 只有第一次没有出现好声音,得分为 lcm⁡(2,3)=6\operatorname{lcm}(2, 3)=6,概率为 18\frac{1}{8}。

  • 每一次都砍出了好声音,得分为 lcm⁡(1,2,3)=6\operatorname{lcm}(1, 2, 3)=6,概率为 18\frac{1}{8}。

所以期望值为 $\frac{1}{8}+\frac{1}{8}+\frac{2}{8}+\frac{3}{8}+\frac{2}{8}+\frac{3}{8}+\frac{6}{8}+\frac{6}{8}=3$

乘上 232^3 得到答案为 2424。

子任务

本题采用捆绑测试。

对于 100%100\% 的数据,1≤n≤3×1051\leq n\leq 3\times 10^5,107≤p≤1.1×10910^7 \leq p \leq 1.1 \times 10^9且pp为质数,1≤si≤3001\leq s_i\leq 300。

本题共 77 个子任务,各子任务的分值和限制如下:

子任务 11(33 分):n=1n=1。

子任务 22(77 分):n=18n=18。

子任务 33(1010 分):n=100n=100,ss 中不同的正整数不超过 1818 个。

子任务 44(2020 分):n=100n=100,不存在 1≤i≠j≤n1\leq i \neq j \leq n,使得 si=sjs_i=s_j。且保证数据随机。

子任务 55(2020 分):1≤s1,s2,…,sn≤1001\leq s_1, s_2, \ldots, s_n \leq 100。

子任务 66(2020 分):1≤n≤1041\leq n \leq 10^4。

子任务 77(2020 分):无特殊限制。


谨以此题庆祝刀剑10周年。好像晚了几个月...

题目来源

MtOI2019 Extra Round T4

出题人:CYJian

验题人:suwAKow