Обмены в перестановке

시간 제한1초메모리 제한1024 MB

요약
순열과 서로 교환할 수 있는 위치 쌍들이 주어질 때, 도달 가능한 가장 긴 증가 부분 수열의 최대 길이를 구한다.
난이도

어려움10점 중 8점

유형
유니온 파인드, 동적 계획법, 정렬
정답자
아직 제출이 없습니다

문제

Дана перестановка aa чисел от 11 до nn, а также набор из mm пар индексов. За один ход разрешается выбрать одну из этих mm пар и поменять элементы на соответствующих позициях местами (перестановка, соответственно, изменится). Вы можете сделать произвольное количество ходов (в частности, разрешается не делать ни одного хода).

Определим возрастающую подпоследовательность длины kk как набор индексов j_1,j_2,…,j_kj\_1, j\_2, \ldots, j\_k, для которых выполняются два условия:

  • 1≤j_1<j_2<…<j_k≤n1 \le j\_1 < j\_2 < \ldots < j\_k \le n;
  • a_j_1<a_j_2<…<a_j_ka\_{j\_1} < a\_{j\_2} < \ldots < a\_{j\_k}.

Какой максимально возможной длины наибольшей возрастающей подпоследовательности можно достичь при правильных обменах элементов?

입력

В первой строке заданы два числа nn и mm (1≤n≤104,0≤m≤min⁡(105,n⋅(n−1)21 \le n \le 10^4, 0 \le m \le \min(10^5, \frac{n \cdot (n - 1)}{2}) --- длина перестановки и количество пар позиций, которые можно обменивать между собой.

В следующей строке через пробел заданы nn различных целых чисел a_ia\_i (1≤a_i≤n1 \le a\_i \le n) --- элементы перестановки.

Каждая из следующих mm строк содержит по два числа u_iu\_i и v_iv\_i (1≤u_i,v_i≤n,u_i≠v_i1 \le u\_i, v\_i \le n, u\_i \neq v\_i) --- индексы позиций, элементы на которых можно менять. Гарантируется, что ни одна пара не встречается дважды.

출력

Выведите одно целое число --- максимально возможную длину наибольшей возрастающей подпоследовательности перестановки после обменов.

힌트

Рассмотрим перестановку из первого примера.

\[5,2,4,6,3,1]\[5, 2, 4, 6, 3, 1]

Поменяем местами элементы на позициях 55 и 66.

\[5,2,4,6,1,3]\[5, 2, 4, 6, 1, 3].

Теперь поменяем местами элементы на позициях 11 и 55.

\[1,2,4,6,5,3]\[1, 2, 4, 6, 5, 3].

Длина наибольшей возрастающей подпоследовательности в такой перестановке равняется 44.

Соответствующая подпоследовательность: \[1,2,4,6,5,3]\[1, 2, 4, 6, 5, 3].

예제2

  1. 예제 1

    입력
    6 2
    5 2 4 6 3 1
    5 6
    1 5
    
    예상 출력
    4
    
  2. 예제 2

    입력
    4 2
    2 1 4 3
    1 3
    2 4
    
    예상 출력
    3