专栏文章

题解:AT_abc431_f [ABC431F] Almost Sorted 2

AT_abc431_f题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min83460
此快照首次捕获于
2025/12/01 22:06
3 个月前
此快照最后确认于
2025/12/01 22:06
3 个月前
查看原文

ABC431F 题解

给出一个长度为 nn 的序列 AA 和一个整数 DD,求满足序列 BB 是序列 AA 的排列且对于 1in11 \le i \le n-1 都有 BiBi+1+DB_{i} \le B_{i+1} + D 的序列 BB 的数量,对 998244353998244353 取模。

思考

先对 AA 排序。
我们先考虑预处理对于每个 iicic_i,表示 AiA_{i} 的前一个数一定在 1jci1 \le j \le c_i 对应的 AjA_j 中,即 cic_i 就是最大满足 Ai+DAjA_i + D \ge A_j 的下标 jj
容易发现 cic_i 单调不降,可以用双指针求出,这一部分的时间复杂度为 O(n)O(n)
之后再观察一下。不妨令 pp 序列为 AA 序列排列的下标,即 Bi=ApiB_i = A_{p_i}
我们猜测:如果一个 pp 序列合法,那么当且仅当 cpiic_{p_i} \ge i
首先是必要性的证明。如果存在一个 ii,使得 cpi<ic_{p_i} \lt i 且这个 pp 序列合法,那么由 cc 序列的定义可知,一定有 pi1cpi<ip_{i-1} \le c_{p_i} \lt i,由于 cc 序列不降且 pi1<ip_{i-1} \lt i,则 cpi1cpi<ic_{p_{i-1}} \le c_{p_{i}} \lt i

评论

0 条评论,欢迎与作者交流。

正在加载评论...