QOJ.ac

QOJ

حد الوقت: 0.5 s حد الذاكرة: 512 MB مجموع النقاط: 100

#13113. 直角区域

الإحصائيات

平面上的直线路径是指仅由水平和垂直线段组成的路径。如果一条直线路径与每一条垂直(或水平)线的交集要么为空,要么为该线的一个连续部分,则称该路径相对于 $x$ 轴(或 $y$ 轴)是单调的。如果一条直线路径相对于 $x$ 轴和 $y$ 轴都是单调的,则称其为阶梯线。如果一条阶梯线从 $x$ 轴的负无穷大方向开始,并以 $x$ 轴的正无穷大方向的半无限水平线段结束,则称其为无界阶梯线。注意,根据阶梯线在 $x$ 轴上移动时是向上还是向下,阶梯线可以是递增的或递减的。具有 $n$ 个垂直线段的阶梯线称为 $n$ 阶阶梯线。

考虑两条无界阶梯线 $L$ 和 $U$,它们之间可能存在若干个由 $L$ 和 $U$ 围成的封闭直线区域。在这些封闭直线区域中,有些区域的底部由阶梯线 $L$ 围成,顶部由阶梯线 $U$ 围成。例如,在下图中,两个黄色的区域就是这类封闭直线区域。我们希望计算这些区域的总面积。

图 G.1. 两条阶梯线 $L$ 和 $U$,其中 $U$ 有 3 个阶梯,而 $L$ 有 4 个阶梯。两个黄色区域是由底部阶梯线 $L$ 和顶部阶梯线 $U$ 围成的封闭直线区域。$x_i^L, y_i^L$(以及 $x_i^U, y_i^U$)分别是阶梯线 $L$(以及 $U$)转折点的 $x$ 坐标和 $y$ 坐标。

$n$ 阶阶梯线的几何形状由其转折点的 $x, y$ 坐标按以下顺序表示:

$$y_0 \ x_1 \ y_1 \ x_2 \ y_2 \ \dots \ x_n \ y_n \quad \quad \quad \quad (1)$$

其中 $x_1 < x_2 < \dots < x_n$ 为垂直线段的 $x$ 坐标,$y_0 < y_1 < \dots < y_n$ 为递增阶梯线的水平线段的 $y$ 坐标,或者 $y_0 > y_1 > \dots > y_n$ 为递减阶梯线的水平线段的 $y$ 坐标。

例如,给定的 4 阶阶梯线 $L$ 表示为:

$$6 \ 2 \ 9 \ 11 \ 11 \ 15 \ 16 \ 21 \ 19$$

给定的 3 阶阶梯线 $U$ 表示为:

$$3 \ 6 \ 12 \ 10 \ 14 \ 18 \ 17$$

封闭直线区域的数量为 2,总面积为 32(见图 G.1)。

给定两条无界阶梯线 $L$ 和 $U$,且满足 (1) 中表示的所有转折点的 $x$ 坐标在 $L$ 和 $U$ 中都是唯一的,且 (1) 中表示的所有转折点的 $y$ 坐标在 $L$ 和 $U$ 中也都是唯一的,请计算由底部阶梯线 $L$ 和顶部阶梯线 $U$ 围成的封闭直线区域的总面积。

输入格式

程序需从标准输入读取数据。第一行包含两个正整数 $n$ 和 $m$,分别表示无界阶梯线 $L$ 和 $U$ 的阶数,其中 $1 \le n, m \le 25,000$。第二行(及第三行)包含 $2n + 1$(及 $2m + 1$)个整数,表示阶梯线 $L$(及 $U$)转折点的 $x, y$ 坐标,整数按符号 (1) 的顺序排列。坐标为不超过 50,000 的非负整数。

输出格式

程序需向标准输出写入数据。第一行应包含两个整数 $k$ 和 $w$,其中 $k$ 表示封闭直线区域的数量,$w$ 表示这些区域的总面积。如果不存在此类区域,则程序应输出 0 0。

样例

样例输入 1

4 3
6 2 9 11 11 15 16 21 19
3 6 12 10 14 18 17

样例输出 1

2 32

样例输入 2

4 3
9 1 7 3 5 5 3 7 1
0 2 2 4 4 6 6

样例输出 2

0 0

样例输入 3

1 1
1 50000 50000
0 0 49999

样例输出 3

1 2499900000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.