题目背景
温昭雪开始了上传视频,成为大 uploader 之路。
这天,她所在的视频平台上线了一个激励计划。
题目描述
温昭雪有 n 个视频要发布,每个视频可以是 t 个分类中的一种。初始时温昭雪有 k 分。每当她发布一个类型为 j 的视频,设她上一个发布的视频类型为 i,则她的分数会在发布这个视频后立刻乘上 di,j(如果是第 1 个视频,分数不会变化)。然后,设当前有 x 分,则会得 bj×x 的收益。
温昭雪是个有点随意的人,所以她每次会等概率随机选择一个视频的类型(除了第一个视频的类型固定为 v)。现在她想知道在这样发视频的情况下,她能获得总收益的期望。
输入格式
第一行五个整数 n,t,k,v,g,其中 g 表示该数据所处的 Subtask 编号。
第二行包含 t 个整数 bi。
以下 t 行,每行 t 个整数 Di,j,满足 di,j=100Di,j。
输出格式
仅一行表示答案。最终结果可以选择下列方式之一输出:
-
用浮点数输出,输出格式 decimal x
,x 的误差不超过 10−9(误差=答案∣你的输出 - 答案∣) 即为正确。这种方式只能用于输出部分 Subtask 的答案,在其它 Subtask 这样输出会 WA。
供参考:答案文件中精确到了 18 位小数。
-
用乘法逆元输出,输出格式 inverse x
,答案对 998244353 取模。
3 3 100 1 0
5 10 15
100 90 80
70 100 80
60 110 100
decimal 2168.333333
3 3 100 1 0
5 10 15
100 90 80
70 100 80
60 110 100
inverse 332750286
提示
样例解释
显然,所有以 v 开头的发布视频的序列具有相同的概率出现。
当发布第 2 个视频时,分数与获得收益的可能性如下表:
视频类型 |
发布后分数 |
总收益 |
1 |
100 |
500+500=1000 |
2 |
90 |
500+900=1400 |
3 |
80 |
500+1200=1700 |
令 F 表示发布第 3 个视频前的分数,P 表示发布第 3 个视频前的收益,则:
第 3 个视频类型(行)/ 第 2 个视频类型(列) |
1(F=100) |
2(F=90) |
3(F=80) |
1 |
100 |
63 |
48 |
2 |
90 |
88 |
3 |
80 |
72 |
80 |
第 3 个视频类型(行)/ 第 2 个视频类型(列) |
1(P=1000) |
2(P=1400) |
3(P=1700) |
1 |
1000+500 |
1400+315 |
1700+240 |
2 |
1000+900 |
1400+900 |
1700+880 |
3 |
1000+1200 |
1400+1080 |
1700+1200 |
因此,总收益期望为 919515=36505≈2168.333333。在本样例所示数据范围下,decimal
和 inverse
输出均可用,两种答案均正确。
数据规模与约定
本题采用捆绑测试。
Subtask |
n≤ |
t≤ |
特殊性质 |
是否可使用 decimal |
分值 |
0 |
8 |
|
是 |
9 |
1 |
18 |
200 |
6 |
2 |
109 |
1 |
否 |
4 |
3 |
100 |
200 |
是 |
7 |
4 |
A |
10 |
5 |
109 |
B |
6 |
6 |
100 |
|
否 |
12 |
7 |
104 |
200 |
11 |
8 |
109 |
35 |
特殊性质 A:di,j∈{0,0.5,1}。
特殊性质 B:di,j=1。
对于所有数据,保证 1≤n≤109,1≤t≤200,0≤d≤2。