杂题笔记

YCJS3928 国家队选拔(划分数)

Descirption

一个长度为n的序列,序列上每个元素的权值在\([1,n]\)等概率随机,同时要求相邻元素权值不同,求所有合法序列的出现最多的元素个数的期望个数

\(n\le 50\)

Solution

  • 如果考虑每一时刻的状态,首先先只考虑权值出现次数集合,那么就化为划分数的问题,在n=50时大概只有S=$10^6 $ 种情况。

  • 然后考虑转移,记录上一位的权值的出现次数,那么状态数就是\(n\times S\)的,然后转移复杂度时\(O(n)\)

  • 状态可以Hash掉,用map维护的话跑出最大值的时间是180s左右,然后使用unordered_map+Ofast只用15s

posted @ 2018-09-27 20:46  Zerokei  阅读(117)  评论(0编辑  收藏  举报