zoukankan      html  css  js  c++  java
  • P2679 [NOIP2015 提高组] 子串

    去年a的题, 今年看到差点不会。 


    题意

    给两个字符串a, b, 问有多少种方案, 从a中恰好选择k个子串顺序排列, 恰好等于b。

    题解

    还是自己的舒服,隔了这么久想到的方法还是一样的。
    一般这种题, 一种很好的思路是一个一个字符的dp,记录最后一个是否选择, 然后每个字符可以自己开一堆或者加入上一个字符的那一堆(如果他被选了)
    这是一种常见的手法。
    对于这道题而言, 设(f_{i, j, k, l})表示在A的前i个字符中选择k堆, 刚好匹配到B的j个字符。
    l表示第A的第i个字符是否选择。
    转移就是:
    对于(f_{i, j, k, l})
    如果Ai == Bj: 可以考虑将它使用, 这时可以单独开一堆或者加入上一堆。
    考虑不加入, 直接等于fi-1的状态

    水题就随便水水博客把, 大概自己能懂就行

  • 相关阅读:
    Netty
    HttpClient 该知道一些概念
    Hibernate QBC 简单收集
    IUAP--单点登录
    js图片压缩和上传并显示
    vue移动端项目
    js自定义滚动条
    mysql5.7以上版本安装
    学习webpack
    学习es6
  • 原文地址:https://www.cnblogs.com/ltdjcoder/p/15132114.html
Copyright © 2011-2022 走看看