博客
关于我
牛客网WY-29 暗黑子字符串
阅读量:302 次
发布时间:2019-03-01

本文共 379 字,大约阅读时间需要 1 分钟。

为了计算长度为n的字符串中不存在任何长度为3的连续子串包含A、B、C各一个的字符串数目,我们可以使用动态规划的方法。以下是详细的解题思路:

  • 定义状态

    • dp[i] 表示长度为i的字符串中是暗黑字符串的数量。
  • 递推关系

    • 当i >= 3时,dp[i] = 2 * dp[i-1] + dp[i-2]。这是因为每个长度为i的字符串可以由长度为i-1的字符串的两倍加上长度为i-2的字符串构成。
  • 初始化

    • dp[1] = 3:长度为1的字符串有3种可能(A, B, C),都是暗黑的。
    • dp[2] = 9:长度为2的字符串有9种可能,同样都是暗黑的。
  • 计算

    • 计算从dp[3]dp[n]的值,使用上述递推公式。
  • 输出

    • 输入n后,输出对应的dp[n]值。
  • 通过这种方法,我们可以高效地计算出任意长度n的暗黑字符串数目,时间复杂度为O(n),空间复杂度为O(n)。

    转载地址:http://gtoa.baihongyu.com/

    你可能感兴趣的文章
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>
    Plotly:如何向烛台图添加交易量
    查看>>
    Plotly:如何在 plotly express 中找到趋势线的系数?
    查看>>
    Plotly:如何在桑基图中设置节点位置?
    查看>>
    pm2 start命令中的json格式详解
    查看>>
    pm2启动报错
    查看>>
    pm2通过配置文件部署nodejs代码到服务器
    查看>>
    PML调用PDMS内核命令研究
    查看>>
    PMM安装-第一篇
    查看>>
    PMP知识要点(第九章)
    查看>>
    PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!
    查看>>
    POCO库中文编程参考指南(4)Poco::Net::IPAddress
    查看>>
    Quartz基本使用(二)
    查看>>
    POC项目安装与使用指南
    查看>>
    Podman核心技术详解
    查看>>
    pods 终端安装 第三方框架的一些命令
    查看>>
    Podzielno
    查看>>