AT_arc059_d.[ARC059F] バイナリハック

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

しぐ制作了一款键盘。这款极致简约的键盘上只有 33 个按键:0 键、1 键和退格键。

首先,しぐ打算用这款键盘操作一个简单的文本编辑器。编辑器始终显示一个字符串(也可能为空)。刚启动编辑器时,字符串为空。每按下一个按键,字符串会按如下方式变化:

  • 0 键:在字符串的最右端插入字符 0。
  • 1 键:在字符串的最右端插入字符 1。
  • 退格键:如果字符串为空,则什么都不会发生;否则,删除字符串最右端的 11 个字符。

しぐ启动编辑器后,总共按下了 NN 次按键。结果,现在编辑器上显示的字符串为 ss。请你计算,有多少种按键顺序可以使得最终编辑器上显示的字符串为 ss,并将答案对 109+710^9+7 取模后输出。

输入格式

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

N sN\ s

输出格式

输出能够使最终编辑器上显示字符串 ss 的 NN 次按键顺序的方案数,对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    3
    0

    输出#1

    5
  • 输入#2

    300
    1100100

    输出#2

    519054663
  • 输入#3

    5000
    01000001011101000100001101101111011001000110010101110010000

    输出#3

    500886057

说明/提示

限制条件

  • 1≤N≤50001\leq N\leq 5000
  • 1≤∣s∣≤N1\leq |s|\leq N
  • ss 仅由字符 0 和 1 组成

部分分

  • 对于 1≤N≤3001\leq N\leq 300 的数据集,满分为 400400 分。

样例说明 1

用 B 表示退格键,以下 55 种按键顺序最终会显示字符串 0:00B、01B、0B0、1B0、BB0。在最后一种方案中,按下退格键时字符串为空,因此不会发生任何变化。

由 ChatGPT 4.1 翻译

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

首页