#P13588. [NWRRC 2023] H-Shaped Figures

    ID: 13616 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>计算几何树状数组2023ICPC极角排序NWRRC

[NWRRC 2023] H-Shaped Figures

Description

在去年的“K 形图形”问题取得巨大成功之后,今年我们带来了创新的“H 形图形”问题。我们还为接下来的 24 年做了一些计划。

设平面上的三条线段 PQPQaabb 构成一个 H 形图形,当且仅当:

  • PP 严格在线段 aa 的内部,且线段 PQPQaa 不共线;
  • QQ 严格在线段 bb 的内部,且线段 PQPQbb 不共线;
  • 线段 aabb 没有公共点。

给定点 PPQQ 的坐标,以及 nn 条候选线段作为 aabb。注意,给定的线段中可能有重合的,但它们仍应视为不同的线段。

请你计算有多少种方式可以选择一条线段作为 aa,另一条线段作为 bb,与给定的 PQPQ 线段一起构成一个 H 形图形。

Input Format

每个测试包含多组测试用例。第一行包含测试用例的数量 tt1t1051 \le t \le 10^5)。接下来是每组测试用例的描述。

每组测试用例的第一行包含四个整数 xP,yP,xQ,yQx_P, y_P, x_Q, y_Q,表示点 PPQQ 的坐标(109xP,yP,xQ,yQ109-10^9 \le x_P, y_P, x_Q, y_Q \le 10^9)。保证 PPQQ 不重合。

第二行包含一个整数 nn,表示候选线段的数量(2n21052 \le n \le 2 \cdot 10^5)。

接下来的 nn 行中,第 ii 行包含四个整数 xi,1,yi,1,xi,2,yi,2x_{i,1}, y_{i,1}, x_{i,2}, y_{i,2},表示第 ii 条线段的两个端点的坐标($-10^9 \le x_{i,1}, y_{i,1}, x_{i,2}, y_{i,2} \le 10^9$)。所有线段长度均大于零。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

Output Format

对于每组测试用例,输出一个整数,表示使用给定的 PQPQ 线段和两条候选线段构成 H 形图形的方案数。

1
0 0 4 0
8
0 0 2 1
-1 -1 2 2
3 3 5 -3
0 2 6 -1
2 -2 5 1
-1 1 3 -3
-1 0 2 0
-1 -1 2 2
6

Hint

由 ChatGPT 4.1 翻译