#HK3699. 「USACO 2022 US Open Platinum」Up Down Subsequence

「USACO 2022 US Open Platinum」Up Down Subsequence

题目描述

题目来自 USACO 2022 US Open Contest, Platinum Problem 3. Up Down Subsequence

Farmer John 的 NN 头奶牛(2≤N≤3⋅1052 \leq N \leq 3\cdot 10^5),编号为 1…N1 \ldots N,排列成 1…N1\ldots N 的一个排列 p1,p2,…,pNp_1,p_2,\ldots,p_N。另外给定一个长为 N−1N-1 的字符串,由字母 U 和 D 组成。请求出最大的 K≤N−1K\le N-1,使得存在 pp 的一个子序列 a0,a1,…,aKa_0,a_1,\ldots,a_{K},满足对于所有 1≤j≤K1\le j\le K,当字符串中第 jj 个字母是 U 时 aj−1<aja_{j - 1} < a_j,当字符串中的第 jj 个字母是 D 时 aj−1>aja_{j - 1} > a_j。

输入格式

输入的第一行包含 NN。

第二行包含 p1,p2,…,pNp_1,p_2,\ldots,p_N。

最后一行包含给定的字符串。

输出格式

输出 KK 的最大可能值。

5
1 5 3 4 2
UDUD
4

我们可以选择 [a0,a1,a2,a3,a4]=[p1,p2,p3,p4,p5][a_0,a_1,a_2,a_3,a_4]=[p_1,p_2,p_3,p_4,p_5];整个排列与给定的字符串相一致。

5
1 5 3 4 2
UUDD
3

我们可以选择 [a0,a1,a2,a3]=[p1,p3,p4,p5][a_0,a_1,a_2,a_3]=[p_1,p_3,p_4,p_5]。

数据范围与提示

测试点 3∼43\sim 4 满足 N≤500N\le 500。

测试点 5∼85\sim 8 满足 N≤5000N\le 5000。

测试点 9∼129\sim 12 中,字符串中的 U 均在 D 之前。

测试点 13∼2213\sim 22 没有额外限制。