动态规划算法题
不会变成恶龙的少年
平凡而快乐的大学生
展开
-
题目 2086: [蓝桥杯][算法提高VIP]最长公共子序列(dp动态规划Python)代码及注释
题目 题目描述 给定两个字符串,寻找这两个字串之间的最长公共子序列。 输入 输入两行,分别包含一个字符串,仅含有小写字母。 输出 最长公共子序列的长度。 样例输入 abcdgh aedfhb 样例输出 3 分析题目:这是经典动态规划题目,通过读题确定状态矩阵dp为二阶矩阵(因为是在两个字符串间进行比较,一维矩阵不足以支持记录状态)。 dp[i][j]表示第一个字符串a的前(i+1)个字符与第二个字符串b的前(j+1)个字符的最长公共子序列。 确定状态转移方程为: Python代码 ''' 主页有:原创 2020-11-13 17:22:52 · 464 阅读 · 1 评论 -
题目 1282: 公交汽车(Python、C++动态规划代码及注释)
题目: 题目描述 一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。 输入 第一行十个整数分别表示行走1到10公里的费用(< =500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。 第二行一个整数n表示,旅客的总路程数。 输出 仅一个整数表示最少费用。 样原创 2020-11-10 18:38:56 · 1603 阅读 · 3 评论