P8277 [USACO22OPEN] Up Down Subsequence P

题目描述

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

输入格式

输出格式

说明/提示

【样例解释 1】 我们可以选择 $[a_0,a_1,a_2,a_3,a_4]=[p_1,p_2,p_3,p_4,p_5]$;整个排列与给定的字符串相一致。 【样例解释 2】 我们可以选择 $[a_0,a_1,a_2,a_3]=[p_1,p_3,p_4,p_5]$。 【测试点性质】 - 测试点 3-4 满足 $N\le 500$。 - 测试点 5-8 满足 $N\le 5000$。 - 测试点 9-12 中,字符串中的 U 均在 D 之前。 - 测试点 13-22 没有额外限制。