1 条题解
-
0
先不考虑钦定一个数的限制。打表发现是斐波那契。但我们要会证明。
观察 的位置。设为 。则有 ,即 。由于 且有解,所以 ,得到 。所以 只能放前两个。
类似地,可以证明 只能放在 或 或 ,且前 个数只能放在前 个位置,且空位必须在后两个。设 表示前 个放前 个位置的方案数, 表示前 个放前 个位置,把 空出来的方案数,所求即 。有转移:。替换得 。
这样不好直接做钦定一个数,毕竟不好优化。可以发现合法排列可以由 交换邻项得到,且每一个数最多交换一次。写一个一样的 dp 发现也是斐波那契。但是这样更好做钦定 。若 ,即此项不动,方案数即为前后缀斐波那契乘积。若 ,即交换了这项和前一项,方案数仍为前后缀斐波那契乘积。剩下一种也一样。
所以预处理个斐波那契做完了。朴素做 ,矩阵可以做 。
信息
- ID
- 944
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 4
- 已通过
- 3
- 上传者