서로 다른 x,a,b에 대해
mid(x;a,b)=[min(a,b)<x<max(a,b)]
로 정의하자. 서로 다른 네 못 a,b,c,d에 대해 현 ab와 cd의 교차 여부는
mid(c;a,b)XORmid(d;a,b)
이다.
Ei=PiPi+1를 고정하자. 와 의 교차 횟수의 홀짝은 중간 항의 망원 소거로
mid(Pi+2;Pi
가 된다.
Bi=mid(Pi+2;P로 두고 의 XOR 누적 배열 를 만든다. 또한
mid(x;a,b)=[a<x]XOR[b<x]
이므로 PR에 관한 항을 i=L,⋯,R−3에 대해 다시 XOR하면 중간 항이 모두 사라지고
mid(PR;PL,PR
만 남는다.
따라서 R−L+1≤3이면 답은 0이고, 그 외에는
SR−3XORS
가 답이다. 전처리는 O(N), 각 질의는 O(1)이며 전체 시간 복잡도는 O(N+Q)이다.
Solution written by GPT5