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分析

解题思路

先说明一个重要问题:按照题面给出的两个条件,样例中的第一组 a?b 的答案应为 242424,因为中间的 ? 不能填 a,也不能填 b,其余 242424 个小写字母都合法。题面样例输出 23 与题意不一致,下面题解严格按照题面条件实现。

我们只需要统计满足:

  1. 固定字符位置必须和 sss 相同;
  2. 相邻两个字符不能相同。

P4591.第2题-字符串计数

    1000ms Tried: 1 Accepted: 1 Difficulty: 5 所属公司 : 阿里
    算法与标签>动态规划

题目内容

给定一个仅由小写字母与 ??? 组成的字符串 sss (长度为 mmm )。求有多少个不同的仅由小写字母组成的字符串 ttt (长度为 nnn ) 满足以下条件:

1)对所有下标 i(1≤i≤n)i(1≤i≤n)i(1≤i≤n),若 s[i]≠?s[i]≠?s[i]=?,则 t[i]=s[i]t[i]=s[i]t[i]=s[i];

2)任意相邻字符均不相同,即对所有 i(1≤i<n)i(1≤i<n)i(1≤i<n),有 t[i]≠t[i+1]t[i]≠t[i+1]t[i]=t[i+1]。

由于答案可能很大,请将答案对 (109+7)(10^9+7)(109+7) 取模后输出。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤105)T(1≤T≤10^5)T(1≤T≤105) 代表数据组数,描述如下:

第一行输入一个整数 n(1≤n≤105)n(1≤n≤10^5)n(1≤n≤105) ;

第二行输入一个长度为 nnn 、且只由小写字母和 ??? 构成的字符串 sss 。

保证所有测试中 nnn 的总和不超过 5×1055×10^55×105 。

输出描述

对于每组测试数据,输出一行一个整数,表示满足条件的字符串数对 109+710^9+7109+7 取模的结果。

样例1

输入

5
3
a?b
2
??
4
a??a
4
aabb
4
abab

输出

24
650
600
0
1

登录后即可使用 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, 120ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?