#686. 加弦

加弦

题目描述

圆上等距放置 NN 个点,按顺时针编号为 1,2,…,N1,2,\dots,N。

你需要处理 QQ 个询问,按顺序进行如下操作:

对于第 ii 个询问,尝试画出连接点 AiA_i 与 BiB_i 的线段(弦)。但是,如果该线段与已经画出的某条线段相交,则不画该线段。(相交是指在圆内部相交,不包括仅在端点相接的情况。)

已知所有 2×Q2 \times Q 个整数 A1,…,AQ,B1,…,BQA_1,\dots,A_Q,B_1,\dots,B_Q 两两互不相同。

对于每个询问,判断该线段是否被画出。

输入格式

输入共 Q+1Q + 1 行;

  • 第一行输入由空格隔开的两个正整数 N,QN, Q;
  • 接下来 QQ 行,第 ii (1≤i≤Q)(1 \le i \le Q) 行输入由空格隔开的两个正整数 Ai,BiA_i, B_i。

输出格式

输出 QQ 行。第 ii 行若第 ii 次询问画出了线段,则输出 Yes,否则输出 No。

样例输入 1

8 3
1 5
2 7
3 4

样例输出 1

Yes
No
Yes

样例输入 2

999999 4
123456 987654
888888 999999
1 3
2 777777

样例输出 2

Yes
No
Yes
No

说明

样例 11 解释

按顺序处理询问:

  • 第 11 次:画 (1,5)(1,5),可以画出,输出 Yes。
  • 第 22 次:尝试画 (2,7)(2,7),它与已画的 (1,5)(1,5) 相交,故不画,输出 No。
  • 第 33 次:画 (3,4)(3,4),与已画线段不相交,输出 Yes。

图片描述

数据范围

  • 2≤N≤1062\le N\le 10^{6}。
  • 1≤Q≤3×1051\le Q\le 3\times 10^{5}。
  • 对于每个 ii,满足 1≤Ai<Bi≤N1\le A_i < B_i \le N。
  • A1,…,AQ,B1,…,BQA_1,\dots,A_Q,B_1,\dots,B_Q 两两互不相同。
  • 所有输入值均为整数。