CF1080F Katya and Segments Sets
题目描述
给你n个集合,集合中的元素是线段,每个线段用左右端点$[l,r],l\le r$描述。每个集合可以包含任意个线段(包括0个),允许存在相同的线段
有m个询问,每个询问形如$a,b,x,y$,问对于编号在$[a,b]$之间的集合,是不是每一个都包含一个满足$x\le l\le r\le y$的线段,是则输出"yes",否则输出"no"
输入格式
第一行包含3个整数$n,m,k(1\le n,m\le 10^5,1\le k\le 3×10^5)$分别是集合数、询问数、线段个数。
接下来$k$行每行3个整数$l,r,p(1\le l\le r\le 10^9,1\le p\le n)$表示一条线段,$l,r$为左右端点,$p$为它所属的集合
输出格式
对每个询问输出"yes"或"no",每个询问占一行
每次输出后需要刷新输出缓存,否则会TLE
方法如下:
- C++: fflush(stdout)或cout.flush()
- Java:System.out.flush()
- Pascal:flush(output)
- Python:stdout.flush()
- 其他的自己查
说明/提示
第一个询问答案是no,因为第二个集合不包含一个在$[2,3]$之间的线段
对于第二个询问,第一个集合包含$[2,3]$,第二个集合包含$[2,4]$
对于第三个询问,第一个集合包含$[2,3]$,第二个集合包含$[2,4]$,第三个集合包含$[2,5]$
对于第四个询问,第二个集合不包含一个在$[3,6]$之间的线段
对于第五个询问,第二个集合包含$[2,4]$,第三个集合包含$[2,5]$,第四个集合包含$[7,9]$