基础DP
文章平均质量分 51
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
PTA-数据结构与算法-最大子列和问题
最大子序列和问题给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数...原创 2018-05-10 20:12:01 · 2189 阅读 · 5 评论 -
1040 Longest Symmetric String
题目大意:输出一个字符串中最长回文串的长度。解题思路:一开始暴力写了一发,枚举起点然后扩展字符串判断是否是回文串,但这种方法本质上不包含长度为偶数的回文串,虽然各种骚操作弄了半天但是还是有一个两分的测试点过不去。无奈只好用DP写,DP数组为DP【i】【j】,含义为从i到j的字符串是否为回文串。状态转移方程为DP【i】【j】=(DP【i+1】【j-1】,条件s【i】==s【j】。否则不是回文...原创 2019-02-09 17:06:04 · 419 阅读 · 0 评论 -
1007 Maximum Subsequence Sum
题目大意:最大子序列和,经典DP板子题,DP数组表示以I为结尾的最大和,状态转移方程为 DP[i]=max(DP[i-1]+data[i],data[i])。注意如果都是负数输出-1.代码如下:#include<iostream>#include<cstdio>#include<fstream>#include<set>#includ...原创 2019-02-09 11:17:34 · 144 阅读 · 0 评论 -
Happy Programming Contest
In Zhejiang University Programming Contest, a team is called “couple team” if it consists of only two students loving each other. In the contest, the team will get a lovely balloon with unique color f...原创 2018-07-30 11:02:35 · 258 阅读 · 0 评论 -
Max Sum
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. InputThe f...原创 2018-07-29 21:29:45 · 148 阅读 · 0 评论 -
Employment Planning
A project manager wants to determine the number of the workers needed in every month. He does know the minimal number of the workers needed in each month. When he hires or fires a worker, there will b...原创 2018-07-29 17:08:23 · 432 阅读 · 0 评论 -
FATE
最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗?Inp...原创 2018-07-29 10:15:40 · 450 阅读 · 0 评论 -
HDU-1087 Super Jumping! Jumping! Jumping!
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 intro...原创 2018-07-15 11:07:38 · 183 阅读 · 0 评论 -
HDU-1159- Common Subsequence
Common Subsequence 解题思路:本题是基础DP问题中的最大公共子序列问题(LCS),之前写过几遍但再次写还是没写对,主要还是对于状态转移的描述不够准确。对于自顶而下的描述,找准符合局部最优的贪心描述是关键。本题的DP数组是一个二维数组,代表从1-i和从1-j两个字符串的最长公共子序列。用一个循环嵌套构建自顶而下的DP树,最后的DP[n][m]就是最优解了。比较两个字符...原创 2018-07-15 10:53:51 · 180 阅读 · 0 评论 -
FatMouse's Speed
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequence...原创 2018-07-25 22:14:37 · 302 阅读 · 0 评论 -
免费馅饼
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝...原创 2018-07-25 10:38:15 · 151 阅读 · 0 评论 -
1068 Find More Coins
题目大意:EVa有一些面值的硬币,现在要求支付具体数额的硬币,要求输出需要支付的硬币序列,如果存在多个解就输出字典序最小的,这里的字典序就按照字符串比较时的字典序就可以。解题思路:01背包问题。这里将朴素的背包中的重量和价值合并处理。难点在于记录路径和字典序问题,可以开一个和DP数组维度相同含义的二维数组来记录选择的硬币,由于存在多个解并且要求输出字典序最小,首先将输入的数组从大到小排序,...原创 2019-02-11 10:33:21 · 341 阅读 · 0 评论