动态规划
#
1900_
你热爱什么,你追求什么,你就成为什么
展开
-
【动态规划】nxm矩阵,起点(1,1),终点(n,m)。每次可以往下或者往右走,每次步数需要是奇数,求路径数量。
动态规划原创 2022-09-20 21:38:27 · 1562 阅读 · 0 评论 -
区间DP入门
例题:Educational Codeforces Round 61 (Rated for Div. 2) F题题目链接:http://codeforces.com/contest/1132/problem/F题目大意:给你一个只含小写字母的字符串,每次只能删除一段含有一样字母的区间,问最少删多少次,才能删除整个字符串解题思路:(第一次做区间dp 所以记录详细点 适合新手)...原创 2019-04-09 17:01:12 · 168 阅读 · 0 评论 -
洛谷 P1896 状压DP
洛谷 P1896 互不侵犯题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。注:数据有加强(2018/4/25)输入输出格式输入格式:只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)输出格式:所...原创 2019-04-04 16:30:48 · 223 阅读 · 0 评论 -
鸡蛋掉落----经典dp(动态规划)
题目:给你 n 个鸡蛋,和一栋从1到 m 共有 m 层楼的建筑。你需要测试鸡蛋的耐摔度 也就是鸡蛋从第几层扔下去恰好会碎如果鸡蛋的耐摔度是 F 那么任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。你每次测试可以拿一个鸡蛋,把它从任意高度的楼层 扔下(没摔碎的话 还可以继续使用)你的目标是测试出 F 的值是多少。要求在最坏的情况下...原创 2019-03-15 15:34:18 · 1579 阅读 · 0 评论 -
循环数组最大子段和--51nod1050
题目链接:戳一戳题目:做法:首先要知道不循环数组得最大子段和解法 戳一戳 链接然后呢循环数组的最大子段和有两种情况:一是 和正常数组一样 求出最大字段和 ans1二是 最大字段和不连续 a1+a2=sum (后边+前边)这个时候就要把中间那段求出来 用总和减去 才是最大子段和那么我们当然希望中间那段的值越小越好了 最...原创 2018-12-05 18:33:51 · 327 阅读 · 0 评论 -
LIS最长上升子序列详解+模板(dp和二分做法)
LIS最长上升子序列(longest increasing subsequence),也可以叫最长非降序子序列,简称LIS求LIS的长度的问题 是指求数列的最长上升子序列(可以不连续)的长度dp做法 复杂度O()我们用 dp[ i ]来代表以 a[ i ] 为结尾的前 i 个数最长递增子序列的长度我们来看一下这个栗子 2 7 1 5 6 4 3...原创 2018-08-10 10:38:28 · 759 阅读 · 0 评论 -
51nod1183编辑距离----DP--字符串最小变化
题目链接:戳一戳 思路:动态规划还是练习的太少,做题根本没思路。看了别人的题解我们用dp[ i ][ j ]来代表串s中前i个字符与串t中前j个字符的最小编辑距离那么只有三种情况1、 如果串 s 的 前 i-1 和 串t 的 前 j-1 都匹配好了的话 只看第i个和第j个相等不相等就好了2、如果 串s 的 前 i-1 和 串t 的 前 j 都匹配好了的话 ...原创 2018-11-28 18:43:23 · 251 阅读 · 0 评论 -
跳台阶问题详解---动态规划
上台阶(初级)有一楼梯共n级,刚开始时你在第0级,若每次只能跨上一级或二级,要走上第n级,共有多少走法?(练习题NYOJ76)解决思路(一)这道题呢 有两种思路 如果你经验丰富 一看就看出来是动态规划了 那么就好写了我们来分析一下动态规划 首先 n=1 只有一种 n=2 有两种 这没有疑问 那么 我们假设n=10 现在设上到第九层的方法是F(9) 设上到...原创 2018-08-29 11:40:28 · 2333 阅读 · 2 评论 -
最大连续区间和算法详解+代码
写在前边本篇主要记录了最大连续区间和的暴力算法和dp算法(三种写法)以及讲解了求最大区间和的区间左右下标的方法-----------------------------------------------------------------------------------问题概述这是一个经典的问题。给定一个长度为n的序列a[1],a[2]...a[n-1],a[n]...原创 2018-06-07 14:06:58 · 6319 阅读 · 1 评论 -
最长公共子序列长度以及打印(动态规划入门)
POJ1458原题链接北大郭炜老师在mooc上讲的 算法基础的例题代码也是按照讲的写的方法呢就是串 A 以 i 为结尾和串 B 以 j 为结尾的最长公共子序列长度 maxlen[i][j]=max(maxlen[i][j-1],maxlen[i-1][j])当A的第i-1字符个和B的第j-1个字符一样时 maxlen[i][j] = maxlen[i-1][j-1] + ...原创 2018-07-29 08:42:57 · 426 阅读 · 0 评论 -
01背包入门
01背包入门问题题意 背包体积为V 有n个物品 体积为v[i] 价值为w[i] 求解背包能装进去的物品最大价值dp思路 我们用一个二维数组dp dp[ i ][ j ]代表面对第i个物品时 且 背包容量为 j 时 背包内的最大价值首先 判断 j 如果 j<第i件物品的体积 也就是 j<v[i] 则不能放下第 i 个物品 所以此时背...原创 2018-08-01 20:55:20 · 645 阅读 · 0 评论