考虑对于每种值从小到大去放,设 \(f_{i, s}\) 表示到了第 \(i\) 种数,\(5\) 个峰谷的选择情况(有没有被确定)的方案数,转移时枚举超集转移即可,需要注意一些特殊的边界情况以及 \(s\) 的合法性(不然可能会有重)。
如果朴素这么做绝对会重,你可以选择强制必须先选峰再选谷(这样比较好转移且本身去重),这样就比较好写了。
这种排列计数就是通过数分类插入排列的同时维护排列形态。
考虑对于每种值从小到大去放,设 \(f_{i, s}\) 表示到了第 \(i\) 种数,\(5\) 个峰谷的选择情况(有没有被确定)的方案数,转移时枚举超集转移即可,需要注意一些特殊的边界情况以及 \(s\) 的合法性(不然可能会有重)。
如果朴素这么做绝对会重,你可以选择强制必须先选峰再选谷(这样比较好转移且本身去重),这样就比较好写了。
这种排列计数就是通过数分类插入排列的同时维护排列形态。