1 条题解
-
0
题解
思路
一个确定括号串的深度,等于某个分割点左边左括号数和右边右括号数的较小值的最大值。换言之,深度至少为 ,当且仅当存在第 个左括号,并且它右侧至少还有 个右括号。
问号不超过 时可枚举所有替换。 时可对每个深度阈值重新计算前后缀分布。满分算法一次预处理所有前后缀计数,复用到全部阈值。
做法
令 表示前 个字符恰有 个左括号的替换方案数, 表示后缀 恰有 个右括号的方案数。再对 的计数维做后缀和,得到后缀中至少有 个右括号的方案数。
固定深度阈值 。对每种完整替换,若其深度至少为 ,第 个左括号的位置唯一。枚举该位置 :前缀需要恰有 个左括号,位置 能取左括号,右侧需要至少 个右括号。三部分相乘并求和,就得到深度至少为 的替换数。
最后利用非负整数恒等式
$$\sum_s \operatorname{depth}(s)=\sum_{k\ge1}\#\{s:\operatorname{depth}(s)\ge k\}$$求出答案。
复杂度
时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1226
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者