![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
cugzyc
Coding && Reading.
展开
-
HDU-2191 D - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【多重背包】
急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的CK准备自己采购一些粮食支援灾区,现在假设CK一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:CK能用有限的资金最多能采购多少公斤粮食呢? Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1&l...原创 2018-08-09 09:56:32 · 167 阅读 · 0 评论 -
HDU-1284 钱币兑换问题 【完全背包】
钱币兑换问题 Problem Description在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。Input每行只有一个正整数N,N小于32768。Output对应每个输入,输出兑换方法数。Sample Input2934 12553Sample Output7...原创 2018-08-07 21:01:04 · 403 阅读 · 0 评论 -
C - 数塔 【dp】
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数...原创 2018-08-07 20:47:13 · 231 阅读 · 0 评论 -
最大上升子序列和【dp】
和最长上升子序列思路一样,dp数组记录和code:#include<bits/stdc++.h>#define ms(a) memset(a,sizeof(a),0) using namespace std;const int maxn = 1e6+50;int a[maxn],dp[maxn];int n;void solve(){ for(int i=0;i...原创 2018-08-07 19:16:43 · 207 阅读 · 0 评论 -
NYOJ-单调递增最长子序列
单调递增最长子序列描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137思路...原创 2018-08-07 17:45:06 · 179 阅读 · 0 评论 -
HDU - 1078 L - FatMouse and Cheese 【经典记忆化搜索】
FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid lo...原创 2018-08-11 16:37:28 · 121 阅读 · 0 评论 -
51Nod 1083 矩阵取数问题 【记忆化搜索】
一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。 1 3 32 1 32 2 1 能够获得的最大价值为:11。Input第1行:N,N为矩阵的大小。(2 <= N <= 500) 第2 - N + 1行:每行N个数,中间用空格隔开,对应格子中奖励的价...原创 2018-08-11 16:31:35 · 190 阅读 · 0 评论 -
选美大赛【LIS+路径记录】
选美大赛 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 1134(318 users) Total Accepted: 360(256 users) Rating: Special Judge: No ...原创 2018-08-10 20:47:18 · 159 阅读 · 0 评论 -
OpenJudge - 90:滑雪【记忆化搜索】
Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11...原创 2018-08-10 17:58:12 · 296 阅读 · 0 评论 -
P - 最少拦截系统 【LIS】
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统...原创 2018-08-09 17:35:29 · 193 阅读 · 0 评论 -
N - Common Subsequence 【LCS】
最长公共子序列<--深入理解最长公共子序列请戳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 = <...原创 2018-08-09 17:06:38 · 134 阅读 · 0 评论 -
M - Dividing coins 【01背包】
题意:将一堆物品分成两部分,输出两部分最小的差值。思路:总重量sum,差值最小也就是,其中一部分的和最接近sum/2即可,那么就转化成01背包问题了。背包W=sum/2,物品的价值和重量相同。code:#include<iostream>#include<algorithm>#include<cstring>using namespace...原创 2018-08-09 10:35:04 · 159 阅读 · 0 评论 -
HDU 2602 Bone Collector【01背包】
涂奥最近迷上了吃鸡,房间有n个配件,每个配件有c(c<=1e3)的重量和v(v<=1e3)的价值,哇,涂奥捡了一个2级包,容量为s,所以涂奥最多当多肥的快递员呢?Input输入的第一行是T, 表示有一共要打T场比赛.每组数据由三行组成.第1行包含两个整数n和s 第2行包含n个整数, 表示每一个配件的价值. 第3行包含n个整数, 表示每个配件的重量.Output对...原创 2018-08-08 17:42:28 · 431 阅读 · 0 评论