DP一般看规律
文章平均质量分 86
UncleJokerly
Tough days don't last.Tough people do.
展开
-
HDU2041 超级楼梯(DP)
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。 Output 对于每个测试实例,请输出不同走法的数量 Sample Input 2 2 3 Sample Output 1 2AC代码...原创 2017-07-10 10:08:11 · 326 阅读 · 0 评论 -
HDU 1231 最大连续子序列(HDU 1003 dp)
给定K个整数的序列{ N1, N2, …, NK },其任意连续子序列可表示为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和 为20。 在今年的数据结构考卷中,要求编写程序得到最大原创 2017-12-01 21:47:54 · 250 阅读 · 0 评论 -
9.1数字三角形(记忆化搜索与递推)
dp是递推 记忆化搜索是递归+“备忘录” 两者原理是一样的,时间复杂度上也是一样的。可以在熟练记忆化搜索后找出递推关系式。数字三角形问题。 有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数。从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来。如何走才能使得这个和尽量大?记忆化搜索//首先贴上讲解dp的一篇文章htt原创 2017-11-24 19:20:53 · 857 阅读 · 0 评论 -
9.2.2嵌套矩形问题(最长路及其字典序)
嵌套矩形问题。 有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中,当且仅当a#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int MAX=1000+10;int n;int G[MAX][MAX],dp[MAX];str原创 2017-11-24 21:00:55 · 718 阅读 · 0 评论 -
HDU - 1003 Max Sum(经典dp/尺取法)
Given a sequence a[1],a[2],a[3]……a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The firs原创 2017-12-01 21:24:29 · 488 阅读 · 0 评论 -
最长公共子序列问题(LCS)(DP)
原地址:https://blog.csdn.net/hrn1216/article/details/51534607https://blog.csdn.net/hrn1216/article/details/51534607https://blog.csdn.net/hrn1216/article/details/51534607Mark下原创 2018-03-26 17:41:02 · 489 阅读 · 0 评论 -
POJ1163 The Triangle(DP入门)
73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and e...原创 2018-05-21 20:14:52 · 225 阅读 · 0 评论 -
HDU1864 最大报销额(01背包&数据处理)
现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发票...原创 2018-05-21 20:22:44 · 314 阅读 · 0 评论 -
HDU1950 Bridging signals(DP&最长上升子序列问题)
'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 ...原创 2018-11-16 14:24:45 · 167 阅读 · 0 评论 -
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 地宫取宝(记忆化搜索★★★★★)
标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰...原创 2019-03-22 20:25:07 · 310 阅读 · 0 评论 -
51Nod - 1241 特殊的排序(求最长连续递增子序列)
一个数组的元素为1至N的整数,现在要对这个数组进行排序,在排序时只能将元素放在数组的头部或尾部,问至少需要移动多少个数字,才能完成整个排序过程? 例如: 2 5 3 4 1 将1移到头部 => 1 2 5 3 4 将5移到尾部 => 1 2 3 4 5 这样就排好了,移动了2个元素。给出一个1-N的排列,输出完成排序所需的最少移动次数。 Input 第1行:1个数N(2 <= N <=原创 2017-11-29 21:03:35 · 366 阅读 · 0 评论 -
51Nod - 1201 整数划分
将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种。由于数据较大,输出Mod 10^9 + 7的结果即可。 Input 输入1个数N(1 <= N <= 50000)。 Output 输出划分的数量Mod 10^9 + 7。 Sample Input 6 Sample Output 4解题思路:http://w原创 2017-09-10 09:23:22 · 446 阅读 · 0 评论 -
CodeForces - 358D Dima and Hares
Dima liked the present he got from Inna very much. He liked the present he got from Seryozha even more.Dima felt so grateful to Inna about the present that he decided to buy her n hares. Inna was very原创 2017-09-24 16:00:25 · 559 阅读 · 0 评论 -
最长公共子序列(LCS)模板
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char s1[1010],s2[1010];int dp[1010][1010];int lcs(char *s1,char *s2){ int l=strlen(s1); int h=strlen(s2); for(原创 2017-07-31 15:13:03 · 363 阅读 · 0 评论 -
HDU 4540 威威猫系列故事——打地鼠
威威猫最近不务正业,每天沉迷于游戏“打地鼠”。 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! 无话可说… 我们知道,打地鼠是一款经典小游戏,规则很简单:每隔一个时间段就会从地下冒出一只或多只地鼠,玩游戏的人要做的就是打地鼠。 假设: 1、每一个时刻我们只能打一只地鼠,并且打完以后该时刻出现的所有地鼠都会立刻原创 2017-08-03 10:21:36 · 394 阅读 · 0 评论 -
HDU1864 最大报销额(01背包)
现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发票原创 2017-08-03 17:38:38 · 274 阅读 · 0 评论 -
POJ1163 The Triangle
7 3 8 8 1 0 2 7 4 44 5 2 6 5(Figure 1) Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at t原创 2017-08-04 09:15:56 · 283 阅读 · 0 评论 -
HDU 2546 饭卡(01背包)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input 多组数据。对于每组数据: 第一行为正整数原创 2017-08-04 14:33:00 · 251 阅读 · 0 评论 -
HDU2602 Bone Collector(01背包模板 一维数组)
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector原创 2017-08-04 10:29:17 · 402 阅读 · 0 评论 -
HDU3466 Proud Merchants(01背包+限制条件)
Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country are still very proud even if their na原创 2017-08-04 10:10:27 · 291 阅读 · 0 评论 -
HDU1423 Greatest Common Increasing Subsequence(最长公共递增子序列)
This is a problem from ZOJ 2432.To make it easyer,you just need output the length of the subsequence. Input Each sequence is described with M - its length (1 <= M <= 500) and M integer numbers Ai (-2原创 2017-09-22 21:46:34 · 489 阅读 · 0 评论 -
Codeforces 22B Bargaining Table
Bob wants to put a new bargaining table in his office. To do so he measured the office room thoroughly and drew its plan: Bob’s office room is a rectangular room n × m meters. Each square meter of the原创 2017-09-24 10:17:40 · 543 阅读 · 0 评论 -
2018年第九届蓝桥杯C/C++程序设计本科B组省赛 测试次数(动态规划)
标题:测试次数x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但...原创 2019-03-23 15:55:43 · 264 阅读 · 0 评论