专栏文章

题解:CF2143D2 Inversion Graph Coloring (Hard Version)

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

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@mint7258
此快照首次捕获于
2025/12/02 07:57
3 个月前
此快照最后确认于
2025/12/02 07:57
3 个月前
查看原文
子序列 bb 不合法当且仅当 i<j<k,bi>bj>bk\exist i<j<k,b_i>b_j>b_k,也就是说 bb 的 LDS 不超过 2。那么根据狄尔沃斯定理,条件等价于 bb 能被不超过两个上升子序列覆盖(最长反链等于最小链覆盖)。
设状态 fi,j,kf_{i,j,k} 表示前 ii 个数组成的两个上升子序列中一个结尾值是 jj,另一个是 kk 的方案数。为了不算重,我们钦定 jkj\geq k,并且尽量在 jj 处转移。
写出在 ii 处的转移方程:
f_{i,a_i,k} \gets f_{i-1,j,k} & k\leq j\leq a_i \\ f_{i,j,a_i} \gets f_{i-1,j,k} & k\leq a_i< j \end{cases} $$ 对于第一种转移,直接对每个 $k$ 开一个树状数组,转移相当于单点修改前缀查询;第二种转移对每个 $j$ 开一个树状数组,转移类似。总时间复杂度 $O(n^2\log n)$。\ [提交记录](https://codeforces.com/contest/2143/submission/339987721)

评论

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

正在加载评论...