题目链接
题目类型:找规律
题目来源:2016年多校Round3签到题
题目分析
题目大意
在h[1]=h[n+1]=0的条件下,在h[1]~h[n]模拟1~n的全排列,对于每次全排列,当h[i]>h[i-1]且h[i]>h[i+1]时,统计所有ci的和为当前排列的值f(h),求对于所有全排列,f(h)的期望
解析
比赛的时候先拿next_permutation跑了一下,发现可以找到每个ci统计的次数,其中第一个和最后一个各出现n!/2次,中间的所有数均出现n!/3次,因为最后要再求一个期望,所以要将整体除以一个n!,相当于对于输入的ci,第一个数字和最后一个数字取其值的一半,中间的所有数取其三分之一,加和即可。当然,要特判一下只有一个数的情况,此时该数字既作为第一个数字,又作为最后一个数字,结果也就是其本身,直接输出即可。
代码
1 |
|