首先,由题可知,本题是个期望题,根据期望的套路,定义f[x]为x前的答案,所以最终答案就是f[n]
f[x]表示前x期望答案,即每一段的长度立方和的期望(一定要清楚)
但是三次方不好算,由于期望有一些特殊的性质,所以我们引入g[x]和k[x]
g[x]表示前x最后期望长度为g[x],k[x]表示前x最后长度平方的期望为k[x](一定要清楚定义)
g[x]的转移即为g[x]=(g[x-1]+1)*p[x](因为是最后的长度,所以必须乘p[x])
k[x]的转移即为k[x]=(k[x-1]+2*k[x-1]+1)*p[x]
————————————————————————————————————————————————————
本题提供了一种很好的构造期望转移方程的方法,如f[x]可以表示从x中选两个人(可以重复,并且(a,b),(b,a)算两种方案),这里的选有别于题目中的成功
则因为最后一个必须成功才有贡献,所以先乘p[x],然后可以选最后一个人x,则另一个人要在x-1个人中选,即为g[x-1]
也可以不选最后一个人x,而在前面选两个人,即为k[x-1]
————————————————————————————————————————————————————
f[]的统计和k的差不多
不同之处在于f[]不一定要选最后一个
所以就是在x个人中随意选出3个人(这里的选不同于题)
则最后一个人不成功是可以的,此时最后一个人的只能是前面有贡献,即为f[i-1]
以下的都必须要最后一个成功,(否则就不能和前面的构成贡献了)
选的时候最后一个人选一次(因为是无序的,所以选的三个名额每个都可以给最后一个人),此时为k[x-1]*3*p[x]
选的时候最后一个人可以选两次(3个名额中选2个名额,还是3种情况,所以还要乘3) ,此时为g[x-1]*3*p[x]
还可以三个名额都给最后一个人,即为1,贡献为p[x]
原文地址:https://www.cnblogs.com/LELElele01/p/12070693.html