1 条题解
-
0
Second Gap(easy):题解
思路
从右向左插入元素,记录新元素在当前后缀中从大到小的秩。全部合法秩序列与排列一一对应。若新元素的秩为 1 或 2,新后缀前两大位置是新位置 与旧最大值位置 ;若秩至少为 3,旧前两大位置不变。
做法
令 表示后缀 已满足要求且最大值位置为 的方案数,初始 。令 :
- 秩为 1 时向 加 ;
- 秩为 2 时向 加 ;
- 当 时,秩至少为 3 的 种选择保持前两大不变,对每个 向 加 。
三类秩互斥且完备,所以转移不重不漏。处理完后对所有最大值位置求和。
复杂度
时间复杂度 ,空间复杂度 。模乘使用 64 位整数。
部分分
时枚举排列并逐后缀扫描前两大; 时保留最大、次大位置有序对做 DP。
- 1
信息
- ID
- 971
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者