专栏文章

题解:P13075 [NOISG 2019] Pilot

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

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@minjki1o
此快照首次捕获于
2025/12/02 03:28
3 个月前
此快照最后确认于
2025/12/02 03:28
3 个月前
查看原文
发现原题等价于给一个区间,将 i,biYi\forall i,b_i\le Y_i 的值全部赋值为 11 否则为 00,求全由 11 构成的区间个数。
容易发现一个符合条件长度为 bib_i 的极长子区间对答案贡献 fif_i 为:
fi=bi(bi+1)f_i=b_i\cdot(b_i+1)
可以直接将询问离线下来数组 YY 和数组 bb 排序,然后按顺序将满足 biYjb_i\le Y_j 所在 ii 赋值为 11,然后累加答案。
具体实现,可以在每次加入时检查该点左右两个相邻的点是否也已经被赋值为 11,如果是则合并这两个区间。计算答案时,可以先分别减去两个区间的答案,再加上新区间的答案。

评论

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

正在加载评论...