题目名称 3326. [HEOI2016/TJOI2016]序列
输入输出 sequence.in/out
难度等级 ★★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2026-03-31加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:2, 通过率:50%
Gravatarsyzhaoss 100 2.293 s 31.95 MiB C++
Gravatarsyzhaoss 50 5.583 s 4.27 MiB C++
关于 序列 的近10条评论(全部评论)

3326. [HEOI2016/TJOI2016]序列

★★★☆   输入文件:sequence.in   输出文件:sequence.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给她。

玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化。现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你,能否选出一个子序列,使得在**任意一种变化和原序列**中,这个子序列都是不降的?请你告诉她这个子序列的最长长度即可。

【输入格式】

输入的第一行有两个正整数 $n,m$,分别表示序列的长度和变化的个数。

接下来一行有 $n$ 个整数,表示这个数列原始的状态。

接下来 $m$ 行,每行有 $2$ 个整数 $x,y$,表示数列的第 $x$ 项可以变化成 $y$ 这个值。

【输出格式】

输出一个整数,表示对应的答案。

【样例 1 输入】

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

【样例 1 输出】

3

【样例 1 解释】

注意:每种变化最多只有一个值发生变化。

在样例输入中,所有的变化是:

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

选择子序列为原序列,即在任意一种变化中均为不降子序列。

【数据范围】

对于 $20\%$ 数据,所有数均为正整数,且小于等于 $300$。

对于 $50\%$ 数据,所有数均为正整数,且小于等于 $3000$。

对于 $100\%$ 数据,所有数均为正整数,且小于等于 $10^5$。$1\le x\le n$。