luogu#P8277. [USACO22OPEN] Up Down Subsequence P

[USACO22OPEN] Up Down Subsequence P

题目描述

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

输入格式

输入的第一行包含 NN

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

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

输出格式

输出 KK 的最大可能值。

5
1 5 3 4 2
UDUD
4
5
1 5 3 4 2
UUDD
3

提示

【样例解释 1】

我们可以选择 [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];整个排列与给定的字符串相一致。

【样例解释 2】

我们可以选择 [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-4 满足 N500N\le 500
  • 测试点 5-8 满足 N5000N\le 5000
  • 测试点 9-12 中,字符串中的 U 均在 D 之前。
  • 测试点 13-22 没有额外限制。