csp-s91 T2 Cicada与排序

颓到了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数组很大且有无用内存。

相关文章
相关标签/搜索