颓到了yzh的正常版dp定义和讲解数组
考虑题目随机的部分在于相同数之间的选择,要求的部分是最终的位置指针
因为整体考虑复杂且n比较小考虑对每一个数去跑归并,设g[i][j]表示左右指针分别在i,j的几率内存
那么局面发生的几率就得知而且该放哪一个数也可得知
再设一个f数组用来求答案,f[i][j]表示对于编号为i的分治节点当前处理的数放在j的几率
到着推一开始f[k][pos]=1; 那么f[k][i-1+j-mid][j]=f[k<<1][i]*g[i][j]*fir+f[k<<1|1][j]*g[i][j]*sec;
fir和sec由比较结果肯定是0.5仍是1或0。
将局面发生的几率肯定下来
复杂状况下考虑固定一种状况来作
不要memset,f数组很大且有无用内存。