|
假设N辆车的速度是从1~N的随机排序数组。比如4辆车的速度分别为[1,2,3,4],某一个随机数组为[3,1,2,4]
那么针对单个随机数组求最终车辆的数量等价于:求以数组最后一位为终点的严格单调递增子序列的长度。
例如[3,1,2,4]以4为终点的单调递增子序列:从4往前第一个小于4的是2,子序列为[4,2],再往前小于2的是1,子序列为[4,2,1],最终是三辆车。
[2,3,1,4]以4为终点的单调递增子序列为[4,1],最终有两辆车剩下来。
针对速度列表的所有随机数组都进行单调递增子序列的计算,总和除以全排列中数组的数量,就是最终的期望值。
我没有去求全排列然后计算期望值,简单随机排序了10000次,最终期望值是5.1左右。
|
|