AT_arc180_a.[ARC180A] ABA and BAB
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 A 和 B 组成、长度为 N 的字符串 S。
你可以以任意顺序重复进行以下两种操作 0 次或多次:
- 在 S 中选择一个连续的子串
ABA,并将其替换为A。 - 在 S 中选择一个连续的子串
BAB,并将其替换为B。
请你求出经过若干次操作后,可能得到的不同字符串的数量,并对 109+7 取模。
输入格式
输入以以下格式从标准输入读入:
N S
输出格式
请输出答案。
输入输出样例
输入#1
4 ABAB
输出#1
2
输入#2
1 A
输出#2
1
输入#3
17 BBABABAABABAAAABA
输出#3
18
输入#4
100 ABAABAABABBABAABAABAABABBABBABBABBABBABBABBABBABBABBABBABBABBABBABAABABAABABBABBABABBABAABAABAABAABA
输出#4
415919090
说明/提示
限制条件
- 1≤N≤250000
- S 是由
A和B组成的长度为 N 的字符串。
样例解释 1
操作后可能得到以下 2 种字符串:
ABAB:不进行任何操作即可得到该字符串。AB:将 S=ABAB的第 1 到第 3 个字符ABA替换为A,得到 S=AB。另外,S=ABAB的第 2 到第 4 个字符BAB也可以替换为B,但结果得到的AB不要重复计数。
样例解释 2
无法进行任何操作。
样例解释 4
不要忘记对 109+7 取模。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?