AT_agc071_b.[AGC071B] Maximum Bracket Subsequence
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定整数 N,K 以及一个由 ( 和 ) 组成的长度为 K 的合法括号序列 S。
请统计满足以下所有条件的长度为 N 的 ( 和 ) 组成的字符串 T 的数量,结果对 998244353 取模:
- T 中存在一个长度为 K 的合法括号子序列
- 在 T 的所有长度为 K 的合法括号子序列中,字典序最大的那个等于 S
此处定义 ( 的字典序小于 )。
合法括号序列的定义
合法括号序列是指可以通过 0 次或多次删除 () 这样的子串最终得到空字符串的序列。
子序列的定义
字符串 S 的子序列是指通过删除 S 中 0 个或多个字符(不改变剩余字符顺序)得到的字符串。
字典序的定义
字符串 S=S1S2…S∣S∣ 比字符串 T=T1T2…T∣T∣ 字典序小,当且仅当满足以下任一条件(其中 ∣S∣,∣T∣ 分别表示字符串 S,T 的长度):
- ∣S∣<∣T∣ 且 S1S2…S∣S∣=T1T2…T∣S∣。
- 存在整数 1≤i≤min{∣S∣,∣T∣} 满足:
- S1S2…Si−1=T1T2…Ti−1
- Si 的字典序小于 Ti
输入格式
输入从标准输入按以下格式给出:
N K S
输出格式
输出答案。
输入输出样例
输入#1
7 4 (())
输出#1
20
输入#2
20 4 ()()
输出#2
1047225
输入#3
71 10 ()(()())()
输出#3
190654464
输入#4
10000000 28 (()()(()))(()((()))())()(())
输出#4
769035381
说明/提示
约束条件
- K≤N≤107
- 2≤K≤5×105
- N,K 为整数
- S 是由
(和)组成的长度为 K 的合法括号序列
样例解释 #1
例如当 T= ((()))) 时,T 中长度 4 的合法括号子序列只有 (()),这与 S 相等,因此满足条件。
当 T= ((())() 时,T 中存在两个长度 4 的合法括号子序列 ()() 和 (()),其中字典序最大的 ()() 不等于 S,因此不满足条件。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?