DP
奇迹是执着的人创造的
这个作者很懒,什么都没留下…
展开
-
算法笔记 11.1 动态规划的递归写法和递推写法
动态规划(Dynamic Programming,DP)是一种用来解决一类最优化问题的算法思想。将一个复杂的问题分解成若干子问题,通过综合子问题的最优解来得到原问题的最优解。注意:dp会将每个求解过的子问题的解记录下来,下次遇到同样的问题时,就可以直接使用之前的记录的结果而不是重复计算。1.动态规划的递归写法(记忆化搜索) 自顶向下记录子问题的解,来避免下次遇到相同子问题时重复计算递归...原创 2019-03-22 16:43:20 · 343 阅读 · 0 评论 -
算法笔记11.8 DP总结
经典DP模型总结:(1)最大连续子序列和 令dp[i]表示以A[i]作为末尾的连续序列的最大和(2)最长不降子序列 令dp[i]表示以A[i]结尾的最长不下降子序列长度(3)最长公共子序列(LCS) 令dp[i][j]表示字符串A的i号位和字符串B的j号位之前的LCS长度(4)最长回文子串 令dp[i][j]表示S[i]至S[j]所表示的子串是否是回文子串(5...原创 2019-03-30 21:04:56 · 188 阅读 · 0 评论 -
codeup 11.7 背包问题
问题 A: 装箱问题时间限制:1 Sec内存限制:128 MB提交:350解决:128[提交][状态][讨论版][命题人:外部导入]题目描述【问题描述】有一个箱子的容量为V(V为正整数,且满足0≤V≤20000),同时有n件物品(0的体积值为正整数。要求从n件物品中,选取若干装入箱内,使箱子的剩余空间最小。输入:1行整数,第1个数表示箱子的容量,第2个数...原创 2019-03-23 20:28:26 · 192 阅读 · 0 评论 -
算法笔记 11.7 背包问题
01背包问题: 有n件物品,每件物品的重量为w[i],价值为c[i]。现在有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。其中每种物品都只有1件。样例:5 8 //n=5 V=8 5件物品 8大的包3 5 1 2 2 //w[i] 每件物品的重量 w[i]之和有上限4 5 2 1 3 //c[i] 每件物品的价值 要求价值之和尽可能大 求最...原创 2019-03-23 19:30:05 · 383 阅读 · 0 评论 -
codeup 11.6 DAG最长路 问题 A: 矩形嵌套
问题 A: 矩形嵌套时间限制:1 Sec内存限制:64 MB提交:198解决:92[提交][状态][讨论版][命题人:外部导入]题目描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套...原创 2019-03-23 02:00:12 · 283 阅读 · 0 评论 -
11.6 DAG最长路
DAG:有向无环图1.求整个DAG中的最长路径(即:不固定终点和起点)2.固定终点,求DAG中的最长路径问题1给定一个有向无环图,如何求解整个图的所有路径中权值之和最大的那条令:dp[i]表示从i号顶点出发能获得的最长路径长度。dp[i]的最大值即是DAG的最长路径长度dp[i]=max{ dp[j]+length(i->j)}j是i的所有直接...原创 2019-03-23 01:07:37 · 640 阅读 · 1 评论 -
codeup 11.2~11.6 经典dp 练习
参考博文问题 A: 最大连续子序列时间限制:1 Sec内存限制:32 MB提交:422解决:185[提交][状态][讨论版][命题人:外部导入]题目描述给定K个整数的序列{N1,N2,...,NK},其任意连续子序列可表示为{Ni,Ni+1,...,Nj},其中1<=i<=j<=K。最大连续子序列是所有连续子序...原创 2019-03-22 21:26:44 · 216 阅读 · 0 评论 -
算法笔记11.2~11.6 最大连续子序列和 最长不降子序列(LIS) 最长公共子序列(LCS) 最大回文子串 DAG最长路
11.2最大连续子序列和给定一个数字序列A1,A2,...,An,求i,j(1<=i<=j<=n),使得Ai+..+Aj最大,输出这个最大和样例: -2 11 -4 13 -5 -2 显然11+(-4)+13=20为和最大的选取情况暴力:O(n^2) dp:O(n)A[i]记录序列记dp[i]为以A[i]结尾的连续序列(将问题划分为子...原创 2019-03-22 18:54:26 · 285 阅读 · 1 评论 -
codeup 11.1 问题 A: Fibonacci
问题 A: Fibonacci时间限制:1 Sec内存限制:32 MB提交:588解决:196[提交][状态][讨论版][命题人:外部导入]题目描述The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence:F0=0 F1=1 Fn=Fn-1+Fn-2,n&g...原创 2019-03-22 16:53:56 · 264 阅读 · 0 评论 -
codeup 11.8 动态规划专题->总结
//此节较难,不能急,后面5题最好一天做1~2题,好好琢磨。。吃透。想BFS那样慢慢来 I题还是不怎么理解。。。目录问题 A: 第二题问题 B: 拦截导弹问题 C: 合唱队形问题 D: Coincidence问题 E: 最大子矩阵问题 F: 放苹果问题 G: 点菜问题问题 H: 最大报销额问题 I: 毕业bg问题 A: 第二题时间限制...原创 2019-03-31 01:59:58 · 580 阅读 · 0 评论