杂题笔记
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