#g7053. [GESP样题 七级]最长不下降子序列

[GESP样题 七级]最长不下降子序列

题目背景

小杨有一个包含 n 个节点、m 条边的有向无环图,节点的编号为 1 到 n。对于编号为 i 的节点,其权值为 Aᵢ。对于图中的一条路径,根据路径上经过节点的先后顺序可以得到一个节点权值的序列。小杨想知道,图中所有可能序列中,最长不下降子序列的最大长度是多少。

题目描述

给定一个有 n 个节点、m 条边的有向无环图,每个节点有一个权值。对图中任意一条路径,按经过节点的顺序取出权值得到一个序列。求:在所有可能的路径序列中,最长不下降子序列的最大长度。

注:给定一个序列 S,它的最长不下降子序列 S' 是 S 中一个单调不降的子序列,且在所有单调不降的子序列中长度最大。例如序列 S = [11,12,13,9,8,17,19] 的最长不下降子序列是 [11,12,13,17,19],长度为 5。

输入格式

第一行两个正整数 n, m。第二行 n 个正整数 A₁, A₂, …, Aₙ。接下来 m 行,每行两个正整数 uᵢ, vᵢ,表示一条从 uᵢ 指向 vᵢ 的有向边。

输出格式

一行一个整数,表示答案。

输入输出样例

5 4
2 10 6 3 1
5 2
2 3
3 1
1 4
3

样例 1:路径 5→2→3→1→4 的权值序列 [1,10,6,2,3] 的最长不下降子序列如 [1,2,3],长度为 3。

6 11
1 1 2 1 1 2
3 2
3 1
5 3
4 2
2 6
3 6
1 6
4 6
1 2
5 1
5 4
4
6 11
5 9 10 5 1 6
5 4
5 2
4 2
3 1
5 3
6 1
4 1
4 3
5 1
2 3
2 1
4

说明/提示

数据规模:子任务1(30分)n≤10³,Aᵢ≤10,图是一条链;子任务2(30分)n≤10⁵,Aᵢ≤2;子任务3(40分)n≤10⁵,Aᵢ≤10。对全部数据保证 1≤n≤10⁵,1≤m≤10⁵,1≤Aᵢ≤10,输入是有向无环图。