「题解」PA2019 Terytoria

本文将同步发布于:洛谷博客;csdn;博客园;简书。题目题目链接:洛谷 P5987、LOJ 3320、官网。题意概述在二维平面直角坐标系上,有一个长度为 XXX,宽度为 YYY 的地图,注意这个地图的左边界和右边界是连通的,下边界和上边界也是连通的,换言之它是个球形结构。在这个地图里,有 X×YX\times YX×Y 个格子以及 nnn 个边平行坐标轴的矩形。你只知道每个矩形两个对顶点的坐标,请问在最好情况下,被所有 nnn 个矩形都覆盖住的格子数量有多少?1≤n≤5×1051\l
摘要由CSDN通过智能技术生成

本文将同步发布于:

题目

题目链接:洛谷 P5987LOJ 3320官网

题意概述

在二维平面直角坐标系上,有一个长度为 X X X,宽度为 Y Y Y 的地图,注意这个地图的左边界和右边界是连通的,下边界和上边界也是连通的,换言之它是个球形结构。

在这个地图里,有 X × Y X\times Y X×Y 个格子以及 n n n 个边平行坐标轴的矩形。你只知道每个矩形两个对顶点的坐标,请问在最好情况下,被所有 n n n 个矩形都覆盖住的格子数量有多少?

1 ≤ n ≤ 5 × 1 0 5 1\leq n\leq 5\times 10^5 1n5×105 2 ≤ X , Y ≤ 1 0 9 2\leq X,Y\leq 10^9 2X,Y109

题解

几何性质

首先不难发现, x , y x,y x,y 两维是独立的。

考虑一个矩形的选取情况,只有 00 , 01 , 10 , 11 00,01,10,11 00,01,10,11 四种情况。

然而,两个状态 0 , 1 0,1 0,1 相乘即可得到上面的所有状态,因此我们可以两维分开做。

枚举答案区间

考虑对于一维的情况,一个点对 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_1,y_1),(x_2,y_2) (x1,y1),(x2,y2) 仅对应两种可能 [ x 1 , x 2 ] [x_1,x_2] [x1,x2] 或者 [ 0 , x 1 ) ∪ ( x 2 , x ] [0,x_1)\cup(x_2,x] [0,x1)(x2,x]

这两个集合显然不交,因此,我们可以考虑枚举一个区间 [ i , i + 1 ] [i,i+1] [i,i+1],那么可以轻易地确定每个区间的选择方案,因而求出最终的长度。

这个可以离散化后可以用扫描线维护,用线段树维护:

  • 查询操作:区间最大值及个数;
  • 修改操作:区间加法。

时间复杂度为 Θ ( n log ⁡ 2 n ) \Theta(n\log_2n) Θ(nlog2n),可以通过本题。

随机算法有前途

我们想到一个简单的方案,如果区间数量 ≤ 64 \leq 64 64,那么我们对于第 i i i 个区间 [ x 1 , x 2 ] [x_1,x_2] [x1,x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值