‹ 上一题 下一题 ›

g7-02629. GESP-7级-2026-09-括号序列 未做

1000 ms 256 MB 测试点 20 通过率 5% GESPGESP七级2026GESP-7J·算法J-32·线性DP一维动态规划

题目描述

对于字符串 与 ,如果从 中删除任意多个字符可以得到 ,那么 是 的子序列。换言之, 是选取 中的若干字符按下标顺序连接而成的。两个子序列不同当且仅当所选取的下标不同。

例如 sun 是 sequence 的子序列,因为从 sequence 中删除 eq、e 和 ce 可以得到 sun;sequence 有 个不同的子序列,其中有空字符串,也有三个不同的子序列 e,因为 sequence 的第 个字符都为 e,分别保留这三个字符得到的子序列是不同的。

对于字符串 ,如果 满足以下条件那么 是合法括号序列:

  • 是空字符串,或者
  • 可由 (、合法括号序列、) 三者连接得到,或者
  • 可由两个合法括号序列连接得到。

例如 ()、()()、(()) 和 (()()) 都是合法括号序列。但是 (()、)( 不是合法括号序列。

给定一个长度为 的仅包含 ( 与 ) 的字符串 。请你求出 所有 个子序列中有多少个合法括号序列。由于答案可能很大,请你输出答案对 取模的结果。

例如, 为 ))(()( 时共有 个子序列是合法括号序列,分别为空字符串与两个不同的子序列 ()。

输入格式

第一行,一个正整数 ,表示字符串 的长度。

第二行,长度为 的仅包含 ( 与 ) 的字符串 。

输出格式

输出一行,一个整数,表示 的合法括号子序列的数量对 取模的结果。

样例

输入
6
))(()(
输出
3

数据范围

对于 的测试点,保证 。

对于所有测试点,保证 。

来源:洛谷 P17460(CCF GESP 七级上机题)

输入
输出

            
答案