题目背景
非酋yyf在dew的指点下抽到了不错的卡,但他还是太非了,对于随机触发的技能,他总是无法触发。yyf想知道自己究竟有多非,所以他请你来计算他的期望得分,与自己的得分来比较。
此题已放宽精度限制并显示错误答案和正确答案,请不要以此面向数据
题目描述
给你一些卡牌的技能,技能分为2种类型:
- 加分,每连击c次有p%的概率加s分
- 改判,每连击c次有p%的概率触发强判定效果,持续t个节奏图标(设连击数为c的倍数时为第i个节奏图标,则强判定效果在第[i+1,i+t]个节奏图标被触发)
这些技能在连击数为c的倍数且连击数不为0时有概率触发,多个技能可以同时触发
其中,加分技能有 score 个,改判技能有 judge 个
再给你n个节奏图标(yyf是按给出的顺序击打的)yyf击打的原始(相对于“强判定效果”修正后)结果,分为2,1,0三种
在“强判定效果”的持续期间内所有的击打结果1会视作击打结果2,击打结果0仍视作击打结果0,击打结果2仍视作击打结果2 。下文中的“击打结果”若无说明均指修正后的击打结果。
“连击数”的定义为到目前为止连续的击打结果为2的次数(若这次的击打结果为2则这次击打也算入当前的连击数,否则当前的连击数为0)
多个“强判定效果”可以重叠,但持续时间不会叠加(设当前“强判定效果”剩余时间为 t1,此时同时触发两个“强判定效果”,持续时间分别为 t2 和 t3 ,则下一次击打时的“强判定效果”剩余时间为 max(t1−1,t2,t3))。
一次击打的得分为这次的击打结果乘以当前的连击数加一。即:设当前的击打结果为 x ,当前的连击数为 combo ,则这次击打的得分为 x∗(combo+1)
最终得分为每次(共n次)击打的得分之和加上加分技能的加分之和
请求出yyf这次打歌的期望得分
输入格式
第一行三个非负整数 n score judge
下面的 score 行,每行三个正整数 c p s,代表一个加分技能
下面的 judge 行,每行三个正整数 c p t,代表一个改判技能
最后一行 n 个整数,每个整数都∈[0,2],第 i 个整数代表第 i 次击打的原始结果
输出格式
共一行一个实数代表yyf的期望得分,与答案的相对误差在 10−5 内算对
提示
数据范围
对于全部的测试点,有:5≤n≤1000,0≤score≤1000,0≤judge≤1000,1≤c≤5,1≤p≤99,1≤s≤10,1≤t≤5。
测试点编号 |
n |
score |
judge |
特殊限制 |
测试点编号 |
n |
score |
judge |
特殊限制 |
1 |
1000 |
0 |
所有 ai 均为 2 |
11 |
1000 |
0 |
9 |
无 |
2 |
0 |
0 |
无 |
12 |
2 |
3 |
1 |
13 |
3 |
3 |
4 |
9 |
14 |
6 |
5 |
1000 |
15 |
1 |
8 |
所有 c 均为 1 |
6 |
50 |
1 |
16 |
0 |
9 |
7 |
2 |
17 |
1000 |
8 |
4 |
18 |
9 |
0 |
9 |
19 |
无 |
10 |
4 |
5 |
20 |
样例1解释

样例2解释

样例3解释
第一次4分,第二次1分,第三次0分,第四次4分,第五次6分