![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
星空彡
这个作者很懒,什么都没留下…
展开
-
POJ-1159-Palindrome(简单dp)
题意:给你一个字符串,添加n个字符,使字符串变成回文字符串,求最小的n; 解题思路:设原字符串为strL,长度为len, 则strR为它的反向字符串。然后求出strL,strR两个字符串的最长公共子序列m.则最小的n为:len - m 还有应该注意的是如果dp数组是 len*len 话,内存会爆。所以要用滚动数组来写,dp数组大小开 2*n; 原因是: for (int i = 1; i <=原创 2017-04-28 19:55:27 · 182 阅读 · 0 评论 -
HDU-3033-I love sneakers!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5105 Accepted Submission(s): 2122Problem Description After months of hard working, Iserlohn原创 2017-04-14 10:10:26 · 310 阅读 · 0 评论 -
NYOJ-860-又见01背包
时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。 每组测试数据第一行输入,n 和 W ,接下来有n原创 2017-04-14 10:10:31 · 201 阅读 · 0 评论 -
POJ-1088-滑雪
Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 93221Accepted: 35289DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给原创 2017-04-14 10:10:49 · 649 阅读 · 0 评论 -
最佳加法表达式(dp)
有一个由1..9组成的数字串.问如果将m个加号插入到这个数字串中,在各种可能形成的表达式中,值最小的那个表达式的值是多少.解题思路:第一步:确定状态。这里面有两个变量,一个是m个加号, 另一个是n个长度的字符串, 则可确定状态dp[m][n] 表示为n个字符,m个加号的最小值。既然是dp那么有一点我们必须明白,就是当前的状态一定是由以前的状态求出来,这就意味着我们一定要找出初始状态。第二步:找出初原创 2017-04-14 10:11:57 · 446 阅读 · 0 评论 -
POJ-3267-The Cow Lexicon(简单DP)
题意:给你一个长的字符串,然后在给你几个短的字符,需要从长字符串中减去几个字符之后,那几个短字符串才能组成一个长字符串(短字符串不一定全部用到) 解题思路:定义dp[j] 为从j到len 需要减去dp[j] 个字符。#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int dp[305];原创 2017-04-30 16:04:59 · 233 阅读 · 0 评论 -
POJ -1037-A decorative fence(动归 +计数)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7637 Accepted: 2905Description Richard just finished building his new house. Now the only thing the house misses is a cute little w原创 2017-04-21 20:31:31 · 665 阅读 · 1 评论 -
多重部分和问题(多重背包+二进制优化)
时间限制: 1 Sec 内存限制: 64 MB提交: 18 解决: 14 题目描述 有n种不同大小的数字,每种各个。判断是否可以从这些数字之中选出若干使它们的和恰好为K。 输入 首先是一个正整数T(1接下来是T组数据 每组数据第一行是一个正整数n(1 第二行是n个不同大小的正整数ai(1第三行是n个正整数mi(1 第四原创 2017-04-14 10:10:20 · 1161 阅读 · 0 评论 -
POJ-1390-BlockS
Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5459 Accepted: 2262Description Some of you may have played a game called ‘Blocks’. There are n blocks in a row, each box has a colo原创 2017-04-22 20:36:29 · 261 阅读 · 0 评论 -
POJ-2373-Dividing the Path
Description Farmer John’s cows have discovered that the clover growing along the ridge of the hill in his field is particularly good. To keep the clover watered, Farmer John is installing water sprink原创 2017-04-25 14:04:58 · 514 阅读 · 0 评论 -
NYOJ-311-完全背包
时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO 输入第一行: N 表原创 2017-04-14 10:10:23 · 198 阅读 · 0 评论 -
HDOJ-1712-ACboy needs your help
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6413 Accepted Submission(s): 3543Problem Description ACboy has N courses this term, and he p原创 2017-04-14 10:10:15 · 232 阅读 · 0 评论 -
NYOJ-289-苹果
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。 输入有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下原创 2017-04-14 10:10:12 · 195 阅读 · 0 评论 -
NYOJ-1058-部分和问题
时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。 接着一行n个数。 (1输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则原创 2017-04-14 10:09:22 · 306 阅读 · 0 评论 -
NYOJ-456-邮票分你一半
时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小 珂得到的邮票分值和与小明的差值最小),现在每张邮票的分值已经知道了,他们已经分好了,你知道原创 2017-04-14 10:09:33 · 205 阅读 · 0 评论 -
NYOJ-36-最长公共子序列
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个原创 2017-04-14 10:09:36 · 237 阅读 · 0 评论 -
NYOJ-37-回文字符串
时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符原创 2017-04-14 10:09:39 · 186 阅读 · 0 评论 -
NYOJ-79-拦截导弹
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意 的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此原创 2017-04-14 10:09:42 · 235 阅读 · 0 评论 -
NYOJ-983-首尾相连数组的最大子数组和
时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lo原创 2017-04-14 10:09:45 · 313 阅读 · 0 评论 -
NYOJ-104-最大和
时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。 例子: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩阵为:原创 2017-04-14 10:09:47 · 278 阅读 · 0 评论 -
NYOJ-814-又见拦截导弹
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度。突然有一天,雷达捕捉到敌国原创 2017-04-14 10:09:50 · 227 阅读 · 0 评论 -
POJ-1837-Balance(dp)
题意: 有一个天平,给你一些秤砣,和几个位置,求有几种让天平平衡的方法。 解题思路: dp[i][j] 定义为i个秤砣组成j重的方法。因为位置有负数,但是数组下标不能为负,所以当天平平衡的时候,平衡点不能为0, 由题意得天平最重的时候为 20*25*15 = 7500,所以让7500为平衡点,这样就不会出现下标为负的情况。 初始化 dp[0][7500] = 1;#include <cstdi原创 2017-04-27 21:52:19 · 219 阅读 · 0 评论