题目信息 时间: 2019-06-30 题目链接:Leetcode tag: 动态规划 难易程度:简单 题目描述: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例: 输入: nums = [-2,1,-3 ...
分类:
编程语言 时间:
2020-07-04 01:18:09
阅读次数:
81
区间动态规划特点 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来由很大的关系。令状态 \(f(i,j)\) 表示将下标位置 \(i\) 到 \(j\) 的所有元素合并能获得的价值的最大值,那么 \(f(i,j)=max\{ f(i,k ...
分类:
其他好文 时间:
2020-07-04 01:04:24
阅读次数:
41
时间复杂度n ^ 2 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 1010; 4 int n, m; 5 char a[N], b[N]; 6 int dp[N][N]; 7 int main() { 8 cin ...
分类:
其他好文 时间:
2020-07-03 21:21:38
阅读次数:
62
问题描述 有 N 个信件和信箱,每封信件对应一个正确信箱位置。现在它们被打乱,求错误装信方式的数量。保证每一封信都装在错误的位置。 思路 抽象成动态规划问题 定义一个数组dp[]存储错误方式数量。dp[i]表示,有i封信、i个信箱情况下的错误装信方法总数。 转移方程建立 对于第N封信而言,假设其装在 ...
分类:
其他好文 时间:
2020-07-03 12:35:12
阅读次数:
208
动态规划之青蛙跳台阶 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <titl ...
分类:
编程语言 时间:
2020-07-02 19:58:29
阅读次数:
122
题目 Eva is trying to make her own color stripe out of a given one. She would like to keep only her favorite colors in her favorite order by cutting off ...
分类:
其他好文 时间:
2020-07-02 19:53:26
阅读次数:
70
动态规划 O(NlogN)结构 在插入排序时,我们倘若用二分查找的形式去寻找插入位置,看似很快,但是却要移动后面的位置,使得这个二分得不偿失 但,如果只是替换某个值呢? 在动态规划的很多题目里面,我们正是要维护这样的一个决策单调序列, 进行更新采取的方案正是替换 注意,这样处理并不能记录opt答案对 ...
分类:
其他好文 时间:
2020-07-02 10:47:23
阅读次数:
54
718. 最长重复子数组 思路 这道题类似最长公共子序列,可以使用动态规划来解决。 代码 二维的 /** * 1 <= len(A), len(B) <= 1000 * 0 <= A[i], B[i] < 100 */ class Solution { public int findLength(i ...
分类:
编程语言 时间:
2020-07-01 23:44:12
阅读次数:
83
1、最优子结构 有面值分别为1,3,5的三种硬币若干,需要凑成11元最少需要多少硬币,凑成n元最少需要多少硬币? 凑成0元需要0个硬币 //d(0)=0 凑成1元需要1个1元硬币 //d(1)=d(0)+1 凑成2元需要2个1元硬币 //d(2)=d(1)+1 凑成3元需要3个1元硬币或者1个3元硬 ...
分类:
编程语言 时间:
2020-07-01 16:15:32
阅读次数:
58
参考zzu_Lee https://www.cnblogs.com/hengzhezou/p/11042906.html 感谢 题目描述: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 - ...
分类:
其他好文 时间:
2020-07-01 16:14:30
阅读次数:
76