AT_arc089_d.[ARC089F] ColoringBalls

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个编号为 1,2,...,N1,2,...,N 的白球按顺序排成一行。AtCoDeer 君想用红色和蓝色给这些球染色。最终,可能还会有部分球保持白色。

给定一个长度为 KK 的字符串 ss。AtCoDeer 君将对 i=1i=1 到 i=Ki=K 依次进行如下操作:

  • 第 ii 次操作:选择一段连续的球区间(可以为空),如果 ss 的第 ii 个字符为 r,则用红色染色;如果为 b,则用蓝色染色。

注意,如果对已染色的球再次染色,则会覆盖原有的颜色。另外,由于染料的限制,尚未被染色的白球不能直接用蓝色染色。即,当 ss 的第 ii 个字符为 b 时,不能选择包含白球的区间。

所有操作结束后,问可能得到多少种不同的球颜色排列。由于答案可能很大,请输出对 109+710^9+7 取模的结果。

输入格式

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

NN KK ss

输出格式

请输出所有操作结束后可能得到的球颜色排列数量,对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    2 2
    rb

    输出#1

    9
  • 输入#2

    5 2
    br

    输出#2

    16
  • 输入#3

    7 4
    rbrb

    输出#3

    1569
  • 输入#4

    70 70
    bbrbrrbbrrbbbbrbbrbrrbbrrbbrbrrbrbrbbbbrbbrbrrbbrrbbbbrbbrbrrbbrrbbbbr

    输出#4

    841634130

说明/提示

限制条件

  • 1≤N≤701 \leq N \leq 70
  • 1≤K≤701 \leq K \leq 70
  • ∣s∣=K|s| = K
  • ss 仅由 r 和 b 组成
  • N,KN,K 均为整数

样例解释 1

若用 r 表示红色,b 表示蓝色,w 表示白色,则最终可能出现的球颜色排列有以下 99 种:ww, wr, rw, rr, wb, bw, bb, rb, br

样例解释 2

由于不能直接将白球染成蓝色,所以第一次操作只能选择空区间。

由 ChatGPT 5 翻译

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

首页