文章分类 -  动规

摘要:最大连续乘积子数组: 最大连续子串 阅读全文
posted @ 2018-10-24 23:08 道微真理 阅读(96) 评论(0) 推荐(0)
摘要:给定两个字符串str1和str2,再给定三个整数ic,dc,rc,分别代表插入、删除、替换一个字符的代价,返回将str1编辑成str2的最小代价。举例:str1="abc" str2="adc" ic=5 dc=3 rc=2,从"abc"编辑到"adc"把b替换成d代价最小,为2;str1="abc 阅读全文
posted @ 2018-08-20 10:04 道微真理 阅读(173) 评论(0) 推荐(0)
摘要:输入 测试数据包含多组输入数据。输入数据的第一行为一个正整数T(T<=20),表示测试数据的组数。 然后是T组测试数据,每组测试数据的第一行包含一个整数n,下一行包含n个数(n <= 500 ), 表示每段金矿的含金量,保证其数值大小不超过1000。 测试数据包含多组输入数据。输入数据的第一行为一个 阅读全文
posted @ 2018-08-15 09:31 道微真理 阅读(131) 评论(0) 推荐(0)
摘要:描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 <= n <=100 1 <= c<= 10^7 1 <= w <= 100 1 <= v <= 10^9 #include<stdio.h>#include< 阅读全文
posted @ 2017-05-18 13:50 道微真理
摘要:如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元? 输入总元数,输出最少的硬币数。 分析 我们用d(i)=j来表示凑够i元最少需要j个硬币,通过题目,很容易得到:当i=0时,d(0)=0, 表示凑够0元最小需要0个硬币; 当i=1时,只有面值为1元的硬币可用, 因此我们拿起一 阅读全文
posted @ 2017-05-18 13:06 道微真理
摘要:完全背包 完全背包 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO #in 阅读全文
posted @ 2017-05-18 11:02 道微真理
摘要:简言之:从左上角到右下角的路径中,总和最大 输入第一行:N M (1≤N M≤20 0≤Xij≤500(i=1,2..N, j=1,2...,M) )表示沙漠是一个N*M的矩形区域接下来有N行:每行有M个正整数,Xi1 Xi2 ……Xim 表示各位置中的虫子数(单个空格隔开)假设“KK”只能向右走或 阅读全文
posted @ 2017-03-30 14:06 道微真理
摘要:ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。 /* 0-1背包 问题:N件物品和体积V的背包,第i件物品的体积是v[i]、价值是w[i]. 求解:哪些物品放入背包可以使背包物品价值最大. 特点:每种物品只有1件,所以每件物品只可以选 阅读全文
posted @ 2017-03-30 13:19 道微真理
摘要:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。 思路: 先求s的反串reverse,然后求他们的最长的公共子序列,要删除的字符个数就能知道 时间复杂度O(N^2) 先求s的反串reverse,然后求他们的最长的公共子序列,要 阅读全文
posted @ 2017-03-28 15:00 道微真理
摘要:递归到动规的一般转化方法 递归函数有n个参数,就定义一个n维的数组,数组的下标是递归函数参数的取值范围,数组元素的值是递归函数的返回值,这样就可以从边界值开始, 逐步填充数组,相当于计算递归函数值的逆过程。 动规解题的一般思路 1. 将原问题分解为子问题 把原问题分解为若干个子问题,子问题和原问题形 阅读全文
posted @ 2017-03-28 13:57 道微真理