#HK5260. 「NOISG 2023 Final」Curtains

「NOISG 2023 Final」Curtains

题目描述

译自 NOISG 2023 Final T4. Curtains

兔子本森正在他的飞机上组织一场表演!

他有一个舞台,分为 nn 个部分,编号从 11nn,从左到右排列。他还有 mm 块幕布,编号从 11mm

mm 块幕布每块都可以放下。放下幕布 ii 会覆盖部分 l[i]l[i]r[i]r[i]。幕布配置是一组放下的幕布。对于给定的幕布配置,部分 xx (1xn)(1 \leq x \leq n) 被覆盖,当且仅当存在一块放下的幕布 ii,满足 l[i]xr[i]l[i] \leq x \leq r[i]

本森希望举办总计 qq 场表演,编号从 11qq。对于每场表演 jj,本森需要一个幕布配置,使得部分 s[j]s[j]e[j]e[j] 被覆盖,且其他部分不被覆盖。更正式地,对于每个 1xn1 \leq x \leq n

  • s[j]xe[j]s[j] \leq x \leq e[j],部分 xx 被覆盖。
  • 否则,部分 xx 不被覆盖。

对于这 qq 场表演中的每一场,帮助本森确定是否存在满足他要求的幕布配置。

输入格式

程序需从标准输入读取数据。

输入的第一行包含三个空格分隔的整数 n,m,qn, m, q,分别表示舞台部分数量、幕布数量和表演数量。

接下来的 mm 行,每行包含两个空格分隔的整数,第 ii 行包含 l[i]l[i]r[i]r[i],描述幕布 ii 可覆盖的部分范围。

接下来的 qq 行,每行包含两个空格分隔的整数,第 jj 行包含 s[j]s[j]e[j]e[j],描述表演 jj 需要覆盖的部分范围。

输出格式

程序需向标准输出输出结果。

输出 qq 行。在第 jj 行,若可以使用幕布覆盖第 jj 场表演所需的部分输出 YES,否则输出 NO

6 2 3
1 2
3 4
1 3
1 4
1 5

NO
YES
NO

本森有 66 个舞台部分和 22 块幕布。幕布 11 覆盖部分 1122,幕布 22 覆盖部分 3344

无法精确覆盖部分 1133。也无法精确覆盖部分 1155。可以使用两块幕布精确覆盖部分 1144

这个样例满足所有子任务的限制。

10 10 10
6 9
6 7
1 6
10 10
5 9
3 9
2 10
5 7
9 10
5 10
7 8
4 7
1 6
2 7
3 9
7 7
2 9
4 9
6 6
5 7

NO
NO
YES
NO
YES
NO
NO
NO
NO
YES

这个样例满足所有子任务的限制。

数据范围与提示

对于所有输入数据,满足:

  • 1n,m,q5000001 \leq n, m, q \leq 500000
  • 1l[i]r[i]n1 \leq l[i] \leq r[i] \leq n(对于所有 1im1 \leq i \leq m
  • 1s[j]e[j]n1 \leq s[j] \leq e[j] \leq n(对于所有 1jq1 \leq j \leq q

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 33 1n,m,q2001 \leq n, m, q \leq 200
22 66 1n,m,q20001 \leq n, m, q \leq 2000
33 1515 1n20001 \leq n \leq 2000
44 2020 s[j]=1s[j]=1
55 3636 1n,m,q1000001 \leq n, m, q \leq 100000
66 2020 无附加限制