专栏文章

Qoj1839 Joke

个人记录参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@mincjt06
此快照首次捕获于
2025/12/02 00:11
3 个月前
此快照最后确认于
2025/12/02 00:11
3 个月前
查看原文
Qoj1839 Joke
题目要求对 ss 计数,而 ss 只跟 p,qp,q 的相对大小有关,所以我们先将 pp 排序,同时保证 qqpp 的大小关系不变。
所以可以画出图像
黑线是 a1a_1,红点是 a2a_2。 所有在黑线下方的点都是 sis_i00 的点,上方都是 sis_i11 的点。
同时,连个方案不同当且仅当上面或下面的点集不一样(一个不一样了另一个肯定页不一样),所以可以只对下面的点集计数。
当我们选了一个点后,所有小于这个点的点一定都在 pp 的下方,即 sis_i00(就是图中的阴影部分)。
发现选出来的点是前缀 max\max ,这是单调不降的(同时,不可能选比之前的点小的点),同时,我们可以根据前缀 max\max 还原出原来的覆盖区间,所以这两个东西等价,即构成双向映射,所以对点集计数等价于对覆盖区间计数,对覆盖区间计数等价于对前缀 max\max 计数。
因为 a1,a2a_1,a_2 离散化完后是 p,qp,q,所以我们可以直接对 qq 计数,一定能构造出合法的 a1,a2a_1,a_2
所以现在我们就是要选出一个上升子序列,问方案数,可以设 dpi,j,kdp_{i,j,k} 表示前 ii 个数,有 jj 个未确定的值,最后一个数填 kk 的方案数,直接 dp。

评论

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

正在加载评论...