专栏文章

ROI 2015 Day1 珍珠刺绣

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

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@minh5lwu
此快照首次捕获于
2025/12/02 02:20
3 个月前
此快照最后确认于
2025/12/02 02:20
3 个月前
查看原文
因为原先的图是一棵树,显然每次询问的子图都是森林。
森林连通块数量启发我们使用 VEV - E 计算。
把边分成横向的和纵向的两部分,然后我们需要维护:一个子矩形内点数量,横向边数量,纵向边数量。
边数量显然是可以把每个边的贡献算到其中一个端点上进行维护的,这里不妨将 (x,y)(x, y)(x,y+1)(x, y + 1) 的边的贡献放到 (x,y)(x, y) 上,(x,y)(x, y)(x+1,y)(x + 1, y) 的边同理贡献放到 (x,y)(x, y) 上,则横向边数量为 (x1,y1)(x_1 , y_1 )(x2,y21)(x_2 , y_2 − 1) 的贡献和,纵向边同理,数量为 (x1,y1)(x_1 , y_1 )(x21,y2)(x_2 − 1, y_2 ) 的贡献和。
注意到点数和边数是 O(n)O(n) 的,因此可以离线之后用扫描线和树状数组维护。
感觉思路上和 APIO2017 斑斓之地 类似。

评论

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

正在加载评论...