AT_arc110_e.[ARC110E] Shorten ABC

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个由 A、B、C 组成的长度为 NN 的字符串 SS。

你可以对 SS 进行如下操作,操作次数可以为 00 次或多次:

  • 选择一个 ii(1≤i≤∣S∣−11 \leq i \leq |S| - 1),使得 Si≠Si+1S_i \neq S_{i+1}。将 SiS_i 替换为一个与 SiS_i 和 Si+1S_{i+1} 都不同的字符(在 A、B、C 中),然后将 Si+1S_{i+1} 从 SS 中删除。

请输出经过 00 次或多次操作后,可能得到的 SS 的不同字符串的种类数,结果对 109+710^9+7 取模。

输入格式

输入通过标准输入给出,格式如下:

NN
SS

输出格式

请输出经过 00 次或多次操作后,可能得到的 SS 的不同字符串的种类数,结果对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    5
    ABAAC

    输出#1

    11
  • 输入#2

    50
    AACCCCBBBACCCCABABCCCCABACCACACACCACABABBBABABACCB

    输出#2

    256972022

说明/提示

限制条件

  • 1≤N≤1061 \leq N \leq 10^6
  • SS 是由 A、B、C 组成的长度为 NN 的字符串

样例解释 1

例如,可以按如下方式操作,得到字符串 SS 为 ACB。

  • 首先选择 i=2i=2,将 S2S_2 替换为 C,并删除 S3S_3,此时 SS 变为 ACAC。
  • 然后选择 i=3i=3,将 S3S_3 替换为 B,并删除 S4S_4,此时 SS 变为 ACB。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页