题目是这样的:
小 w 沉迷音乐游戏 osu!,但是他很菜,他想知道他打一首歌期望得分是多少。
osu! 游戏中一首歌是由 n 个音符(编号 1∼n)构成,小 w 对于每个音符都有一个命中率,即对于第 i 个音符,小 w 有 pi 的概率命中该音符,有 (1−pi) 的概率 miss。
osu! 的得分是由 Combo(连续命中音符序列长度)的平方和构成。例如小 w 命中连续 4 个音符,miss 两个音符之后连续命中 3 个音符,则其得分为 42+32=25。
小 w 可能会通过练习修改某些音符的命中率。 他也会对某一段歌进行练习。 你需要在他每次练习之前告诉他这次练习的期望得分。
输入第一行两个整数
输入第二行 n 个浮点数 p1,p2,...,pn 表示每个音符小 w 的命中概率。
之后 m 行表示操作。每行第一个整数为 1 或者 2。
如果第一个整数是 1,后面有一个整数 x 和一个浮点数 q,表示小 w 通过练习将 px 修改为 q。不保证练习一定可以提升命中率。
如果第一个整数是 2,后面有两个整数 l,r(l≤r) 表示小 w 将对 [l,r] 范围内的歌曲进行一次练习,请告诉他这次联系的期望得分。
对于每个 2 操作,输出一个浮点数,表示期望得分。你和标准答案之间的相对误差不超过 10−5 即视为正确。
4 6
0.5 0.5 0.5 0.5
2 1 2
2 1 3
2 1 4
1 2 1
1 3 1
2 1 4
1.5000000000
2.7500000000
4.1250000000
9.5000000000
对于 10% 的数据,n<20,m<100 对于 30% 的数据,1≤n,m≤5000 对于另外 20% 的数据,不存在 1 操作类型 对于另外 20% 的数据,询问练习时满足 l=1,r=n 对于 100% 的数据,满足 n≤3×105,m≤3×105,1≤l≤r≤n,1≤x≤n,数据所有出现的浮点数都可以等价转化为分母为 256 的分数。
我尝试使用了数学办法,但是考虑的因素不够多,没法过qwq
望各位大佬解析一下()