순열 A에서 교환을 할 때마다 교차하는 두 원소를 잇는 순열 그래프가 전갈 그래프인지 판별한다.
어려움8그래프정렬구현수학아직 제출이 없습니다시간 제한1초메모리 제한256 MB컴퓨터 과학에서 다루는 그래프 가운데, 간선에 방향이 없는 무향 그래프를 생각해 보자. 무향 그래프 중 일부는 특별한 성질을 가진다.
| 연결 그래프 | 포레스트 | 트리 | 전갈 그래프 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
이 문제에서 다루는 것은 전갈 그래프다. 전갈스러운 성질은 다음과 같이 정의한다.

위 그림은 전갈 그래프의 예다.
컴퓨터 과학자들이 전갈스러움이라는 성질을 찾아내고 이름까지 붙인 까닭은 판별 비용이 독특하기 때문이다. N×N 크기의 인접 행렬이 주어졌을 때, 자명하지 않은 그래프 성질(연결 그래프, 포레스트, 트리 등)은 대개 입력을 읽는 시간을 빼고도 O(N2) 시간이 있어야 판별할 수 있다. 그런데 전갈성은 간선의 개수와 상관없이, 입력을 읽는 시간을 빼면 언제나 O(N) 시간에 판별하는 알고리즘이 있다.
재현이는 이 성질에 감탄해서, 순열 그래프라는 또 하나의 독특한 그래프를 주고 그 그래프가 전갈스러운지 판별하는 문제를 냈다. 길이가 N인 순열 A1,A2,…,AN이 나타내는 순열 그래프는 다음과 같이 정의한다.

위 그림은 A=[2,5,4,1,3]이 나타내는 순열 그래프다.
문제를 조금 더 어렵게 만들고 싶었던 재현이는 순열의 두 원소를 교환하는 연산을 Q개 덧붙였다. 각 교환 연산을 수행한 뒤의 순열 그래프가 전갈 그래프인지 판별하라. 교환은 일시적이지 않고, 이후의 연산에 그대로 남는다.
첫째 줄에 순열의 길이 N (4≤N≤100000)이 주어진다.
둘째 줄에 순열 A를 이루는 서로 다른 자연수 A1,A2,…,AN (1≤Ai≤N)이 주어진다.
셋째 줄에 교환 연산의 개수 Q (1≤Q≤100000)가 주어진다.
이어지는 Q개의 줄에 교환 연산이 한 줄에 하나씩 주어진다. 각 줄에는 두 자연수 x와 y (1≤x,y≤N, x=y)가 공백을 사이에 두고 주어진다. 순열 A의 x번째 원소 Ax와 y번째 원소 Ay를 먼저 교환한 뒤, 그 순열 A가 나타내는 순열 그래프가 전갈 그래프인지 판별해서 출력하라는 뜻이다.
각 교환 연산마다, 교환한 뒤의 순열 A가 나타내는 순열 그래프가 전갈 그래프면 YES를, 그렇지 않으면 NO를 한 줄에 하나씩 출력한다.