牛客小白月赛138
F
Permutation of RBS
牛客竞赛
未评级
原题
← E→

Permutation of RBS官方中文

题目描述

官方中文

给出一个长度为 $2\times n$ 的、非空的、合法的括号序列$^\texttt{[1]}$$s$,其有 $n$ 个匹配的括号对。 你需要给每一对匹配的括号对赋值,满足: $\hspace{23pt}\bullet\,$所有括号对的权值形成一个长为 $n$ 的排列$^\texttt{[2]}$; $\hspace{23pt}\bullet\,$如果括号对 $A$ 在括号对 $B$ 的内层,$A$ 的权值必须大于 $B$ 的权值。 请你计算满足条件的赋值方案一共有多少种。由于答案可能很大,你只需要输出答案对 $10^9+7$ 取模后的值。 【名词解释】 合法的括号序列$^\texttt{[1]}$:如果在括号序列中插入字符 $\texttt{+}$ 和 $\tt 1$ 就可以得到正确的算术表达式,那么这个括号序列就称为合法的括号序列。例如,$\texttt{$、$\texttt{$ 和 $\texttt{$ 是合法的括号序列,因为填入内容后可以表示为 $\texttt{$、$\texttt{$ 和 $\texttt{$。更严格地,一个括号序列被称为合法的括号序列,当且仅当: ${\hspace{23pt}}\texttt{1.}\,$空串是合法的括号序列; ${\hspace{23pt}}\texttt{2.}\,$如果 $A$ 是合法的括号序列,那么 $\texttt{$ 也是合法的括号序列; ${\hspace{23pt}}\texttt{3.}\,$如果 $A$ 和 $B$ 都是合法的括号序列,那么 $AB$ 也是合法的括号序列。 本题需要特别指出内外层的定义:对于上述的第 $2$ 种添加方式,新添加的括号对在 $A$ 中所有括号对的外层。 长度为 $n$ 的排列$^\texttt{[2]}$:由 $1,2,\dots,n$ 这 $n$ 个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,$\{2,3,1,5,4\}$ 是一个长度为 $5$ 的排列,而 $\{1,2,2\}$ 和 $\{1,3,4\}$ 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。官方中文

输入格式

官方中文

每个测试文件均包含多组测试数据。第一行输入一个整数 $t\ (1\le t\le10^4)$ 代表数据组数,每组测试数据描述如下:官方中文

第一行输入一个整数 $n\ (1\le n\le 5\times10^5)$,表示 $s$ 的括号对数量。 第二行输入一个合法括号序列 $s$ ,表示其内容。官方中文

除此之外保证单个测试文件的 $n$ 之和不超过 $5\times10^5$ 。官方中文

输出格式

官方中文

对于每组测试数据,新起一行输出一个整数,表示答案对 $10^9+7$ 取模后的值。官方中文

样例

Input #1
5
2
()()
2
(())
4
()(()())
1
()
10
(()(()(()))()())(())
Output #1
2
1
8
1
28350
对于第一组数据,两个括号对无内外层关系,故 $1$ 和 $2$ 可以以任意顺序赋给这两个括号,总方案数为 $2$ 。 对于第二组数据,内层括号必须赋值为 $2$ ,外层括号必须赋值为 $1$ ,总方案数为 $1$ 。 对于第三组数据,我们给括号标一个序号: $\tt{11233442}$ ,相应的符合要求 $8$ 个排列是: $\hspace{23pt}\bullet\,$$[1,2,3,4]$ $\hspace{23pt}\bullet\,$$[1,2,4,3]$ $\hspace{23pt}\bullet\,$$[2,1,3,4]$ $\hspace{23pt}\bullet\,$$[2,1,4,3]$ $\hspace{23pt}\bullet\,$$[3,1,2,4]$ $\hspace{23pt}\bullet\,$$[3,1,4,2]$ $\hspace{23pt}\bullet\,$$[4,1,2,3]$ $\hspace{23pt}\bullet\,$$[4,1,3,2]$![image](https://uploadfiles.nowcoder.com/images/20260715/0_1784126571221/6D43B250E060C28BCC0B09DCCA211370)
题目信息
题号
nc141374pf
时间限制
1 s
内存限制
512 MB

题面与样例版权归 牛客竞赛 及出题人所有;中文翻译由 AI 生成(官方原文),如有出入请以原文为准。