![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 76
风之旅@
努力到一定的程度,幸运就会与你不期而遇
展开
-
97. 交错字符串
动态规划原创 2023-10-29 22:46:42 · 322 阅读 · 4 评论 -
96. 不同的二叉搜索树
递归,记忆化搜索,动态规划原创 2023-10-22 22:25:10 · 752 阅读 · 0 评论 -
91. 解码方法
动态规划原创 2023-10-08 16:30:39 · 67 阅读 · 0 评论 -
87. 扰乱字符串(动态规划图解)
字符串变换,动态规划原创 2023-08-30 11:11:19 · 108 阅读 · 0 评论 -
72. 编辑距离
递归,记忆化搜索,动态规划原创 2023-08-04 22:49:07 · 166 阅读 · 0 评论 -
70. 爬楼梯
动态规划原创 2023-08-01 21:25:55 · 236 阅读 · 0 评论 -
64. 最小路径和
动态规划原创 2023-07-27 09:15:00 · 164 阅读 · 0 评论 -
63. 不同路径 II
动态规划原创 2023-07-26 09:00:00 · 65 阅读 · 0 评论 -
62. 不同路径
动态规划,排列组合原创 2023-07-25 15:57:24 · 558 阅读 · 0 评论 -
53. 最大子数组和
动态规划原创 2023-07-17 21:08:27 · 116 阅读 · 0 评论 -
44. 通配符匹配(从暴力递归到动态规划)
力扣44题:通配符匹配原创 2023-07-07 23:34:16 · 187 阅读 · 0 评论 -
5. 最长回文子串
动态规划原创 2022-12-28 22:13:20 · 621 阅读 · 0 评论 -
HDU - 1114 Piggy-Bank
在 ACM 能够开展之前,必须准备预算,并获得必要的财力支持。该活动的主要收入来自于 Irreversibly Bound Money (IBM)。思路很简单。任何时候,某位 ACM 会员有少量的钱时,他将所有的硬币投入到小猪储钱罐中。这个过程不可逆,因为只有把小猪储钱罐打碎才能取出硬币。在足够长的时间之后,小猪储钱罐中有了足够的现金,用于支付 ACM 活动所需的花费。但是,小猪储钱罐存在一...原创 2019-02-13 16:47:48 · 176 阅读 · 1 评论 -
HDU - 1257 最少拦截系统
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系...原创 2019-02-25 21:02:18 · 140 阅读 · 0 评论 -
POJ - 1458 Common Subsequence
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a...原创 2019-02-20 10:13:58 · 114 阅读 · 0 评论 -
POJ - 1276 Cash Machine
A Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bills for a requested cash amount. The machine uses exactly N distinct bill denominations, say Dk, ...原创 2019-02-20 10:00:41 · 128 阅读 · 0 评论 -
UVA - 562 Dividing coins
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=503题目大意:m个不同面值的硬币,分给两个人,是他们两个人的钱数差额尽可能小;解题思路:0-1背包,设所有钱数和为sum,要使差额尽可能少,就要使一个人的钱数尽可能...原创 2019-02-19 18:40:29 · 255 阅读 · 0 评论 -
UVA - 624 CD
You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. How...原创 2019-02-19 15:07:52 · 243 阅读 · 0 评论 -
HDU - 1087 Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The ga...原创 2019-02-25 21:22:54 · 104 阅读 · 0 评论 -
POJ - 1742 Coins
给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数。 Input多组数据,每组数据前两个数字为n,m。n表示硬币种类数,m为最大面额,之后前n个数为每种硬币的面额,后n个数为相应每种硬币的个数。 (n<=100,m<=100000,面额<=100000,每种个数<=1000) OutputRT Sample Input...原创 2019-02-20 18:06:50 · 232 阅读 · 0 评论 -
POJ - 2250 Compromise POJ
In a few months the European Currency Union will become a reality. However, to join the club, the Maastricht criteria must be fulfilled, and this is not a trivial task for the countries (maybe except...原创 2019-02-26 14:50:14 · 116 阅读 · 0 评论 -
HRBUST - 1116 选美大赛
一年一度的哈理工选美大赛开始了.来自各个院系的N个美女们都在一起排成一排,然后从左到右给他们标号(1-N),评委叫兽开始观摩,由于身高高低都不同, 叫兽想从中选出尽可能多的人使得他们的身高从左到右依次递增,你能帮助叫兽吗? Input 输入数据第一行一个数据表示美女的个数N(0<N<100)接下来有N个数据表示1-N标号的美女的身高,身高范围都在0-180之内...原创 2019-02-26 19:27:58 · 208 阅读 · 0 评论 -
HDU - 2196 Computer
A school bought the first computer some time ago(so this computer's id is 1). During the recent years the school bought N-1 new computers. Each new computer was connected to one of settled earlier. M...原创 2019-03-02 20:47:27 · 109 阅读 · 0 评论 -
HDU - 1950 Bridging signals
'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. Once more the routing designers have screwed up completely, making the signals on the chip connecting the ports...原创 2019-02-27 13:37:10 · 106 阅读 · 0 评论 -
数的划分
一个正整数可以划分为多个正整数的和,比如n=3时:3;1+2;1+1+1;共有三种划分方法。给出一个正整数,问有多少种划分方法。数据规模和约定n< =100输入一个正整数n输出一个正整数,表示划分方案数样例输入3 样例输出3解题思路:啊定义dp[i][j]表示i的j划分AC代码:...原创 2019-03-17 15:51:10 · 299 阅读 · 0 评论 -
LIS 最长单增子序列
给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。 输入 第1行:1个数N,N为序列的长度(2 <= N <= 50000)第2 - N + 1行:每行1个数,对应序列的元素(-10^9 <= S[i] <= 10^9) ...原创 2019-02-02 13:28:38 · 150 阅读 · 0 评论 -
HDU - 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的CK准备自己采购一些粮食支援灾区,现在假设CK一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:CK能用有限的资金最多能采购多少公斤粮食呢? Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=10...原创 2019-02-13 15:59:56 · 93 阅读 · 0 评论 -
HDU - 2546 饭卡
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input多组数据。对于每组数据: 第一...原创 2019-02-13 15:24:41 · 144 阅读 · 0 评论 -
最长公共子序列(LCS)
输入 第1行:字符串A第2行:字符串B(A,B的长度 <= 1000)输出 输出最长的子序列,如果有多个,随意输出1个。 输入示例 abcicbaabdkscab 输出示例 abca 解题思路:LCS模板题,定义一个dir数组来递归输出子序列AC代码:#include<iostream&...原创 2019-01-30 10:49:48 · 100 阅读 · 0 评论 -
子序列的个数
子序列的定义:对于一个序列a=a[1],a[2],......a[n]。则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1<=p1<p2<.....<pm<=n。例如4,14,2,3和14,1,2,3都为4,13,14,1,2,3的子序列。对于给出序列a,有些子序列可能是相同的,这里只算做1个,请输出a的不同子序列的数量。由于答...原创 2019-02-04 15:00:26 · 513 阅读 · 0 评论 -
51Nod - 1084 矩阵取数问题 V2
一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 例如:3 * 3的方格。 1 3 32 1 32 2 1 能够获得的最大价值为:17。1 -> 3 -> 3 -> ...原创 2019-02-04 11:52:43 · 146 阅读 · 0 评论 -
矩阵取数问题
一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。1 3 32 1 32 2 1能够获得的最大价值为:11。 输入第1行:N,N为矩阵的大小。(2 <= N <= 500)第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价值。(1 <...原创 2019-02-03 21:33:22 · 265 阅读 · 0 评论 -
多重背包
有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。 输入 第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W...原创 2019-02-03 19:09:24 · 103 阅读 · 0 评论 -
最大矩阵和
一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵: -1 3 -12 -1 3-3 1 2 和最大的子矩阵是: 3 -1-1 31 2 输入 第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。第2 - N + 1行:矩阵中的元素,每行M个...原创 2019-02-02 17:23:41 · 1893 阅读 · 0 评论 -
编辑距离
编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k->s)sittin (e->i)sitting (->g)所以kitten和sittin...原创 2019-02-02 12:35:48 · 150 阅读 · 0 评论 -
任务执行顺序(51nod)
有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i])。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。 输入 第1行:1个数N,表示任务的数量。(2 <= N <= 100000)第2 - N + 1行:...原创 2018-08-23 11:05:24 · 298 阅读 · 0 评论 -
51Nod-1050循环数组最大子段和
输入 第1行:整数序列的长度N(2 <= N <= 50000)第2 - N+1行:N个整数 (-10^9 <= S[i] <= 10^9) 输出 输出循环数组的最大子段和。 输入示例 6-211-413-5-2 输出示例 20 解题思路:最终答案存在两种可能性: 1、...原创 2018-08-17 20:48:17 · 170 阅读 · 0 评论 -
51Nod-1051最大子矩阵和
一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵: -1 3 -12 -1 3-3 1 2 和最大的子矩阵是: 3 -1-1 31 2 Input第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。 第2 - N + 1行:矩阵中的元素,每行M个...原创 2018-08-17 20:40:21 · 126 阅读 · 0 评论 -
子序列的个数
子序列的定义:对于一个序列a=a[1],a[2],......a[n]。则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1<=p1<p2<.....<pm<=n。例如4,14,2,3和14,1,2,3都为4,13,14,1,2,3的子序列。对于给出序列a,有些子序列可能是相同的,这里只算做1个,请输出a的不同子序列的数量。由于答...原创 2018-08-22 10:48:42 · 1347 阅读 · 0 评论 -
HDU - 4489 The King’s Ups and Downs
The king has guards of all different heights. Rather than line them up in increasing or decreasing height order, he wants to line them up so each guard is either shorter than the guards next to him o...原创 2019-02-09 15:02:20 · 210 阅读 · 0 评论