专栏文章
题解:P14381 【MX-S9-T4】「LAOI-16」顽疾
P14381题解参与者 8已保存评论 8
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mineswb4
- 此快照首次捕获于
- 2025/12/02 01:14 3 个月前
- 此快照最后确认于
- 2025/12/02 01:14 3 个月前
出题人题解。
题目大意
定义 为有多少个长为 排列 满足 。
定义 为 。
求 ,其中, 为所有长度为 ,值域在 中且满足 的所有序列组成的集合。
30pts
首先,考虑如何快速计算一个数列 的 。我们可以定义一个最终的答案序列。然后,钦定一个选择顺序,每次选取一个 中的数,将其插入到答案序列中。如果我们保证了每次插入后该数与相邻两项的乘积都小于等于 ,或者不合法的连续二元组之后会被分开,那么该序列就是合法的。
考虑我们从两边往中间放,对于现在要放的数 。
如果 ,则有 ,称其为 类点。放入后
l++。如果 ,则有 ,称其为 类点。放入后
r--。所以对于放入过程,我们可以记录一个数 表示当前可以放入数的位置个数。
当放入一个 类点时,有 种放入方法,之后
cnt++。当放入一个 类点时,有 种放入方法,之后
cnt--。显然,如果存在一时刻满足
cnt=0,那么就无解。考虑此题,可以 求解,设 表示当前已经放入了 个数,上述的 ,且两侧还没放的点的值分别为 时的答案,则转移时考虑枚举下一个放入的数 ,然后根据 进行转移。
时间复杂度 。
60pts
考虑一个拆分幂次的办法, 相当于有多少种方案是将 个互不相同的小球放入 个盒子中。
对于上述转移,可以用上述办法做到 。
100pts
注意到对于任意的两个数列 ,如果在数列 中存在两个值 满足 先被插入到答案序列,则在 中如果也存在 ,则 也会先被插入到答案序列中。
证明
考虑反证法,如果 在 中先被插入,但在 中 先插入,则 必然作为不同类别(一个时 类,一个是 类)被考虑。
若 作为 类点,则有 ,其中 。而又有 ,其中 。显然矛盾。
当 作为 类点时,同理。
所以,可以预处理出一个全局的放入顺序。
之后,设 表示已经考虑了钦定顺序的前 个数,当前已经放了 个数,可以放数的位置数为 。而 为拆幂次优化转移时需要的两边放入的球的个数。转移时枚举放几个球。
时间复杂度为 。
还有 做法等验题人或是其他选手来解答了 ,给你们精通数数的跪了 。
相关推荐
评论
共 8 条评论,欢迎与作者交流。
正在加载评论...