安吉D15 A
662 字
3 分钟
安吉D15 A
- 1安吉D19 T1
- 2安吉D19 T3
- 3安吉D20 模考12总结
- 4安吉D17 T3
- 5安吉D17 T4
- 6安吉D19 模考11总结
- 7安吉D15 A本文
- 8安吉D16 T4
- 9安吉D17 T1
- 10安吉D17 模考10总结
- 11安吉D16 T3
- 12安吉D16 模考9总结
- 13安吉D13 模考8总结
- 14安吉D13-T2
- 15安吉D13-T3
- 16安吉D12-T3
- 17安吉D11-B
- 18安吉D11-C
- 19安吉D11-D
- 20安吉D12 模考7总结
- 21安吉D12-T2
- 22安吉D11-A
- 23安吉D10 模考6总结
- 24安吉D10-T3
- 25安吉D10-T4
- 26安吉D8-E
- 27安吉D9-T4
- 28安吉D8-A
- 29安吉D8-B
- 30安吉D8-C
- 31安吉D8-D
- 32安吉D9 模考5总结
- 33安吉D9-T2
- 34安吉D9-T3
- 35安吉D6-T4
- 36安吉D4-G
- 37安吉D5-T2
- 38安吉D6 模考4总结
- 39安吉D6-T1
- 40安吉D6-T3
- 41安吉-开营测试 T4
- 42安吉D5 模考3总结
- 43安吉D5-T3
- 44安吉D4-A
- 45安吉D4-B
- 46安吉D4-C
- 47安吉D4:容斥原理
- 48安吉Day4-D
- 49安吉D3 模考2总结
- 50安吉D3-T1
- 51安吉D3-T2
- 52安吉D3-T4
- 53安吉D2 模考1总结
- 54安吉D2-T2
- 55安吉D1-G
- 56安吉D1-L
- 57安吉D2-T4
原题呈现
P9753 消消乐
题目描述
小 L 现在在玩一个低配版本的消消乐,该版本的游戏是一维的,一次也只能消除两个相邻的元素.
现在,他有一个长度为 且仅由小写字母构成的字符串.我们称一个字符串是可消除的,当且仅当可以对这个字符串进行若干次操作,使之成为一个空字符串.
其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起.
小 L 想知道,这个字符串的所有非空连续子串中,有多少个是可消除的.
输入格式
输入的第一行包含一个正整数 ,表示字符串的长度.
输入的第二行包含一个长度为 且仅由小写字母构成的字符串,表示题目中询问的字符串.
输出格式
输出一行包含一个整数,表示题目询问的答案.
输入输出样例 #1
输入 #1
8accabccb输出 #1
5说明/提示
【样例 1 解释】
一共有 个可消除的连续子串,分别是 cc、acca、cc、bccb、accabccb.
【数据范围】
对于所有测试数据有:,且询问的字符串仅由小写字母构成.
| 测试点 | 特殊性质 | |
|---|---|---|
| 无 | ||
| 无 | ||
| 无 | ||
| A | ||
| B | ||
| 无 | ||
| 无 |
特殊性质 A:字符串中的每个字符独立等概率地从字符集中选择.
特殊性质 B:字符串仅由 a 和 b 构成.
此题和括号树惊人的相似.
采用和括号树类似的 dp 状态定义:dp[i] 表示以第 个字符结尾能够构成的合法子串数量.
考虑一下如何转移.
首先,不难发现,若 ,即相邻两个位置拥有同样的字符, 就可以由 转移而来,即以第 个字符结尾的每一个字符串都可以加上 ,从而形成一个新的合法串,而 自身又是一个合法串.转移式为:.
但是 怎么办呢?想一想,如果两个不相等的字符拼在了一起,并且前一个和 相同的字符是 .那么唯一可以让 被消除的方法就是让 之间的所有字符都被消除。不妨定义 表示满足以下条件的下标:
- 可被消除。
则 可以尝试从 转移
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!


