P2467 [SDOI2010] 地精部落
luogu-p2467-地精部落">Luogu-P2467 地精部落
1. 核心逻辑
-
问题本质: 求长度为 的抖动序列方案数(先大后小或先小后大)。
-
破局转换:
-
对称性: 先升后降与先降后升的方案数相等。最终答案为单向方案 。
-
状态压缩: 表示用 个数的排列,第一个数为 且作为“山峰”(大于第二位)的方案数。
-
转移推导:
-
若 选了,剩余 个数重新标号。
-
如果 不是第一位山峰,则方案由 贡献。
-
如果 是第一位山峰,则第二位必须是山谷。由于对称性,以 开头的 位山谷排列数 以 开头的 位山峰排列数。
-
-
最终方程: 。
-
2. 代码实现
▶
AcCode
1 | |
3. 归档备注
-
复杂度: 。
-
关键点: 理解“值域映射”下的状态等价。滚动数组优化物理空间至 。
P2467 [SDOI2010] 地精部落
http://miqiu.space/posts/64a7bd0f/