atcoder#DPT. Permutation

Permutation

题目描述

N N を正整数とします。 長さ N  1 N\ -\ 1 の文字列 s s が与えられます。 s s <> からなります。

(1, 2, , N) (1,\ 2,\ \ldots,\ N) を並べ替えた順列 (p1, p2, , pN) (p_1,\ p_2,\ \ldots,\ p_N) であって、次の条件を満たすものは何通りでしょうか? 109 + 7 10^9\ +\ 7 で割った余りを求めてください。

  • i i (1  i  N  1 1\ \leq\ i\ \leq\ N\ -\ 1 ) について、s s i i 文字目が < の場合は pi < pi + 1 p_i\ <\ p_{i\ +\ 1} であり、s s i i 文字目が > の場合は pi > pi + 1 p_i\ >\ p_{i\ +\ 1} である。

输入格式

入力は以下の形式で標準入力から与えられる。

N N s s

输出格式

条件を満たす順列は何通りか? 109 + 7 10^9\ +\ 7 で割った余りを出力せよ。

题目大意

有一个长为 NN 的正整数排列。给定一个由 <> 组成长为 N1N-1 的的字符串。 对于任意满足 1iN11 \le i \le N-1 的字符 sis_i,如果 sis_i<Pi<Pi+1P_i<P_{i+1}、如果 sis_i>Pi>Pi+1P_i>P_{i+1}。求满足这样的性质的排列 PP 的方案数。

4
<><
5
5
<<<<
1
20
>>>><>>><>><>>><<>>
217136290

提示

制約

  • N N は整数である。
  • 2  N  3000 2\ \leq\ N\ \leq\ 3000
  • s s は長さ N  1 N\ -\ 1 の文字列である。
  • s s <> からなる。

Sample Explanation 1

条件を満たす順列は次の 5 5 通りです。 - (1, 3, 2, 4) (1,\ 3,\ 2,\ 4) - (1, 4, 2, 3) (1,\ 4,\ 2,\ 3) - (2, 3, 1, 4) (2,\ 3,\ 1,\ 4) - (2, 4, 1, 3) (2,\ 4,\ 1,\ 3) - (3, 4, 1, 2) (3,\ 4,\ 1,\ 2)

Sample Explanation 2

条件を満たす順列は次の 1 1 通りです。 - (1, 2, 3, 4, 5) (1,\ 2,\ 3,\ 4,\ 5)

Sample Explanation 3

答えを 109 + 7 10^9\ +\ 7 で割った余りを出力することを忘れずに。