bzoj#P4553. [TJOI2016 & HEOI2016] 序列

[TJOI2016 & HEOI2016] 序列

题目描述

佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。
玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化
现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你,能否选出一个子序列,使得在任意一种变化中,这个子序列都是不降的?
你只需要告诉她这个子序列的最长长度即可。

输入格式

输入的第一行有两个正整数 n,mn,m,分别表示序列的长度和可能的变化的个数。
接下来一行有 nn 个数,表示这个数列初始的状态。
接下来 mm 行,每行有 22 个数 x,yx,y,表示数列的第 xx 项可以变化成 yy

输出格式

输出一个整数,表示子序列的最长长度。

3 4
1 2 3
1 2
2 3
2 1
3 4
3
3 1
3 3 3
2 2
2

样例解释

在样例 11 中,所有变化后可能的序列是:{1,2,3}\{1,2,3\}{2,2,3}\{2,2,3\}{1,3,3}\{1,3,3\}{1,1,3}\{1,1,3\}{1,2,4}\{1,2,4\}
选择所有的三个元素,在任意一种变化中均为不降子序列。

在样例 22 中,所有变化后可能的序列是:{3,3,3}\{3,3,3\}{3,2,3}\{3,2,3\}
选择子序列为第一个元素和第三个元素,或者第二个元素和第三个元素,均可满足要求。

数据范围与约定

对于 100%100\% 的数据,1xn1051 \leq x \leq n \leq 10^5,所有数字均为正整数且小于等于 10510^5