[加藤惠的学习日记day20]每日竞赛&技术学习打卡
534
2021.11.16
发布于 未知归属地

daily problems

  • worthy: 模拟38双周赛 t4

  • 模拟38双周赛 12分 21min

  • 今天赶时间,看到第四题觉得挺麻烦就不是很想思考了...
    image.png

  • 其实这题还是很简单的,大致可以分成以下两步

    • 统计每个位置出现的字符的次数

    • 动态规划

    • dp[i][j] 表示 从下标i开始的words中 构造 从下标j开始的target子串 的方案数
      其中初始条件为dp[i][m] = 1 (对应都不从words中选取字符的情况,m是target的长度)

    • 动态规划的递推式是,分别对应 不选取和选取 words中下标i的字符

    dp[i][j] = dp[i+1][j] + dp[i+1][j+1] * cnt[i][t[j]-'a']
  • 加法原理和乘法原理是动态规划中的常用方法,分别对应着分类思想和分步思想,本题加法原理和乘法原理二者都有涉及。

study tags

  • java mybatis crud
  • javaSE 多态

  • 今天在地铁上看了一章程杰的《大话设计模式》,感觉很不错hh,以故事的形式讲授知识点。之前学mybatis的时候在代码中看到Factory这个单词感到非常不理解,其实就对应着设计模式中的工厂模式。
  • 说白了,简单工厂模式中的工厂提供了一种根据参数,实例化对应子类对象,返回父类引用的能力。由于多态的性质,调用父类引用的方法时,会调用子类对象重写过的方法。
  • 简单工厂的优点就是提供了更松的耦合。
  • 简单做个引子,大家有空的话也可以买来看看,还是很不错的。
评论 (0)