原文:https://www.cnblogs.com/scarecrow-blog/p/3712580.html 【问题描述】 给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。例如 ...
分类:
其他好文 时间:
2020-05-09 20:50:45
阅读次数:
127
动态规划 #include<bits/stdc++.h> using namespace std; int main() { int n, sum, max,i, a[100001]; scanf("%d",&n); sum=0; max = 0; for(i = 0; i < n; i++) sc ...
分类:
其他好文 时间:
2020-05-09 18:41:55
阅读次数:
54
数字三角形73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 //三角形行 ...
分类:
其他好文 时间:
2020-05-09 10:39:39
阅读次数:
60
题目描述 给你一个 m n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。 示例: 题目链接: https://leetcode cn.com/problems/count square submatrices with all ones/ 做这 ...
分类:
其他好文 时间:
2020-05-09 00:49:10
阅读次数:
70
题目描述 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 题目链接: https://leetcode cn.com/problems/maximal square/ 思路1 暴力法。遍历二维数组,如果当前位置是 1,就把当前位置作为正方形的左上角,先计 ...
分类:
其他好文 时间:
2020-05-08 18:11:29
阅读次数:
57
"最大正方形" 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 思路: 先确定dp数组的含义,用dp[i][j]数组来表示包括i行以及i行前的,包括j列以及j列前的,满足条件的最大正方形。 示例对应的dp[][]数组: 然后考虑的就是状态转移方程了: 如 ...
分类:
其他好文 时间:
2020-05-08 13:09:28
阅读次数:
50
题目链接:https://leetcode cn.com/problems/maximal square/ 思路:动态规划 1. 某个点可以作为正方形右下角的前期条件:这个点的上,左,左上三个点都是正方形的右下角。 2. 动态转移方程: ...
分类:
其他好文 时间:
2020-05-08 13:06:07
阅读次数:
48
给定一个矩阵,要求找出矩阵内部不大于k的最大矩阵和。如果枚举每个矩阵,并计算其和,必定会超时。我最开始想的是暴力+动态规划,用dp[i][j]表示以(0,0)为左上角,以(i,j)为右下角的矩阵的和,这样子省去了重复计算矩阵和的时间,虽然能通过,但是时间复杂度还是到了O(m2n2),不是很好,优点就 ...
分类:
其他好文 时间:
2020-05-07 19:29:22
阅读次数:
58
一、0/1 背包 ? 你背着一个背包闯入一家珠宝店,店里有林林总总的格式珠宝,各不重样。每一个珠 宝都有重量和价值。但是你的书包有承载上限。 ? 想成为江湖老大,你需要找到一种装包方法使得包内物品的重量不超过其限定值且使 包内物品的价值最大 def knapSack(W, wt, val, n): ...
分类:
其他好文 时间:
2020-05-07 13:23:32
阅读次数:
62
2.阅读代码——动态规划 乔治·桑塔亚纳说过,“那些遗忘过去的人注定要重蹈覆辙。”这句话放在问题求解过程中也同样适用。不懂动态规划的人会在解决过的问题上再次浪费时间,懂的人则会事半功倍。那么什么是动态规划?这种算法有何神奇之处? 目的:为了避免解决重复性问题 斐波那契 1.递归算法 任何一个递归函数 ...
分类:
其他好文 时间:
2020-05-06 13:54:18
阅读次数:
50