题目名称 3688. [CF629C]Famil Door and Brackets
输入输出 tribrackets.in/out
难度等级 ★★☆
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravataryrtiop 于2022-06-27加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:4, 提交:17, 通过率:23.53%
Gravatarop_组撒头屯 100 0.228 s 25.55 MiB C++
GravatarLfc_HeSn 100 0.231 s 25.55 MiB C++
Gravatar该账号已注销 100 0.292 s 14.96 MiB C++
Gravatar该账号已注销 100 0.383 s 25.70 MiB C++
GravatarLfc_HeSn 30 0.142 s 14.82 MiB C++
GravatarLfc_HeSn 30 0.162 s 14.82 MiB C++
GravatarLfc_HeSn 30 0.179 s 14.96 MiB C++
GravatarLfc_HeSn 30 0.196 s 25.55 MiB C++
Gravatar该账号已注销 30 0.238 s 14.96 MiB C++
Gravatar该账号已注销 30 0.253 s 14.96 MiB C++
本题关联比赛
EYOI暨SBOI暑假快乐赛5th
关于 Famil Door and Brackets 的近10条评论(全部评论)

3688. [CF629C]Famil Door and Brackets

★★☆   输入文件:tribrackets.in   输出文件:tribrackets.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

Famil Door 的生日就要到了,Gabi(Famil Door的好朋友)想要给他买一个礼物。

Gabi 决定买一个只包含 '('、')' 的字符串,毕竟 Famil Door 最喜欢的字符串是长度为 $n$ 的只包含 '('、')' 的字符串。

我们称一个只包含 '('、')' 的字符串“有效”当且仅当:

'(' 的数量等于 ')' 的数量;对于该字符串的任意前缀,均满足 '(' 的数量大于等于 ')' 的数量;

Gabi 买了一个长度为 $m$ 的只包含 '('、')' 的字符串 $S$。

为了使它的长度达到 $n$ ,Gabi 要构造两个只包含 '('、')' 的字符串 $P,Q$,然后将 $P,S,Q$ 顺次连接得到字符串 $S′$ 。

给出 Gabi 买的字符串 $S$,要使 $S′$ 有效,Gabi 有多少种构造 $P,Q$ 的方案?($P,Q$ 都可以为空)。

【输入格式】

第一行包括整数 $n,m$;第二行为长度为 $m$ 的字符串 $S$。

【输出格式】

输出一个正整数,表示构造 $P,Q$ 的方案数,答案对 $(10^9+7)$ 取模。

【样例输入1】

4 1
(

【样例输出1】

4

【样例输入2】

4 4
(())

【样例输出2】

1

【样例输入3】

4 3
(((

【样例输出3】

0

【样例说明】

在第一组样例中,有 $4$ 种不同的可行字符串对:

$p=$ "(", $q=$ "))"

$p=$ "()", $q=$ ")"

$p=$ "", $q=$ "())"

$p=$ "", $q=$ ")()"

在第二组样例中,唯一让 $S′$ 有效的方案是令 $p$ 和 $q$ 为空串。

在第三组样例中,没有一种方法能得到一个有效的字符串。

【数据规模与约定】

对于 30% 的数据,$1 \le m \le 5,1\le m \le n \le 20$

对于 100% 的数据,$1\le m\le n\le 100000,n−m\le 2000$

【来源】

Codeforces Round #343 Div.2 Problem C