1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

1) 反向计数:总方案 − 坏方案

  • 记 X 的个数为 cntX,总方案数:2cntX2^{\text{cntX}}2cntX。
  • “坏方案”定义:最终串 没有 连续 kkk 个 B。
  • 于是答案 = 2cntX−bad2^{\text{cntX}} - \text{bad}2cntX−bad (取模)。

下面重点是线性时间统计 bad。

P3496.第3题-好串

    1000ms Tried: 52 Accepted: 6 Difficulty: 6 所属公司 : 饿了么
    算法与标签>动态规划

题目内容

给定长度为 nnn 的字符串 sss ,由字符 BBB (黑)、WWW (白)和 XXX (未知)组成。你需要将每个 XXX 替换为 BBB 或 WWW ,得到最终字符串。如果最终字符串中存在至少一个连续长度为 kkk 的子串,该子串全部由字符 BBB 构成,则称该字符串为好串。

请计算有多少种不同的填充方式,使得得到的字符串为好串,并对结果取模 109+710^9+7109+7 后输出。

【名词解释】

  • 子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。

输入描述

第一行包含两个整数 n,k(1≦k≦n≤106)n,k(1 ≦k≦n ≤ 10^6)n,k(1≦k≦n≤106) ,分别表示字符串长度、要求的连续黑色长度阈值。

第二行包含一个长度为 nnn 的字符串 sss ,仅由字符 B、WB、WB、W 和 XXX 组成。

输出描述

输出一个整数——好串的填充方案总数对 109+710^9+7109+7 取模后的结果。

样例1

输入

3 2
XXX

输出

3

说明

样例说明:所有 888 种填充中,包含连续"BBBBBB"子串的有"BBWBBWBBW"、"BBBBBBBBB”、"WBBWBBWBB"共3种。

样例2

输入

4 3
XXXX

输出

3

说明

样例说明:长度为 444 的字符串,包含连续"BBBBBBBBB"的填充共有 333 种。

样例3

输入

5 2
BWBWB

输出

0

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 171ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?