U219986 [USACO 2022 US Open Contest, P, P3] 向上向下子序列

题目描述

Farmer John 的 $N$ 头奶牛,编号为 $1…N$,排列成 $1…N$ 的一个排列 $p_1,p_2,…,p_N$。另外给定一个长为 $N-1$ 的字符串,由字母 `U` 和 `D` 组成。请求出最大的 $K\le N-1$,使得存在 $p$ 的一个子序列 $a_0,a_1,…,a_K$,满足对于所有 $1\le j\le K$,当字符串中第 $j$ 个字母是 `U` 时 $a_{j-1}a_j$。

输入格式

输入的第一行包含 $N$。 第二行包含 $p_1,p_2,…,p_N$。 最后一行包含给定的字符串。

输出格式

输出 $K$ 的最大可能值。

说明/提示

【数据范围】 $2\le N\le3\times10^5$。 【测试点性质】 - 测试点 3-4 满足 $N\le500$。 - 测试点 5-8 满足 $N\le5000$。 - 测试点 9-12 中,字符串中的 `U` 均在 `D` 之前。 - 测试点 13-22 没有额外限制。 【样例说明】 #### 样例组 #1 我们可以选择 $[a_0,a_1,a_2,a_3]=[p_1,p_3,p_4,p_5]$。