![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 75
h1021456873
这个作者很懒,什么都没留下…
展开
-
POJ - 1836 Alignment (最长上升子序列 O(nlogn))
解题思路:是POJ2533的扩展题。题意不难,令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。就是使新队列呈三角形分布就对了。 但这里有一个陷阱,看了一些别人的解题报告说“任一士兵旁边不能存在等高的士兵”,然后又举了一个例子说注意35 5 5的情况,我没看他们的程序,不知道他们是不是把这些例子特殊处理了,但完全没必要原创 2017-04-21 00:10:46 · 564 阅读 · 0 评论 -
HDU 1011 士兵杀敌取脑 (树形dp)
有n个洞穴编号为1~n,洞穴间有通道,形成了一个n-1条边的树, 洞穴的入口即根节点是1。每个洞穴有x只bugs,并有价值y的金子,全部消灭完一个洞穴的虫子,就可以获得这个洞穴的y个金子.现在要派m个战士去找金子,从入口进入。每次只有消灭完当前洞穴的所有虫子,才可以选择进入下一个洞穴。一个战士可以消灭20只虫子,如果要杀死x只虫子,那么要x/20向上取整即(x+19)/20个战士。原创 2016-02-29 09:48:12 · 358 阅读 · 1 评论 -
HDU 1054 最小顶点覆盖 (树形dp)
Problem DescriptionBob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now he has the following problem. H原创 2016-02-28 13:11:13 · 657 阅读 · 1 评论 -
cf18D Seller Bob (线性DP_好题)
题意:题目告诉你你能够按顺序获得一些价值为2^x的硬盘,你可以保留一个并且在之后的几天卖掉,但是你在卖掉当前这个之前是不能保留其他的硬盘的,在已经知道什么时候会有人买什么类型的硬盘的前提下,问你能获得的最大收益是多少。dp[i]表示当前i个序列中能获得的最大值... pre[t] 维护内存为t的最近的序列....最后用高精度即可Last year Bob ear原创 2016-04-05 10:58:59 · 425 阅读 · 0 评论 -
HDU 2089 不要62 (数位DP)
Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有原创 2016-03-22 01:01:41 · 239 阅读 · 1 评论 -
POJ 2385 Apple Catching (DP)
DescriptionIt is a little known fact that cows love apples. Farmer John has two apple trees (which are conveniently numbered 1 and 2) in his field, each full of apples. Bessie cannot reach the app原创 2015-08-01 12:14:06 · 475 阅读 · 0 评论 -
51nod 1405 树的距离之和 (两次dfs,树形dp)
给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和。Input第一行包含一个正整数n (n <= 100000),表示节点个数。后面(n - 1)行,每行两个整数表示树的边。Output每行一个整数,第i(i = 1,2,...n)行表示所有节点到第i个点的距离之和。Input示例41 23 24 2原创 2016-02-21 23:36:41 · 482 阅读 · 1 评论 -
HDU 1520 Anniversary party (树形dp,dfs+dp)
今天开始做老师给的专辑,打开DP专辑 A题 Rebuilding Roads 直接不会了,发现是树形DP,百度了下了该题,看了老半天看不懂,想死的冲动都有了~~~~最后百度了下,树形DP入门,找到了 poj 2342 Anniversary party 先入门一下~题意:某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,原创 2016-02-22 10:57:21 · 365 阅读 · 1 评论 -
HDU 1950 Bridging signals (LIS)
Problem Description'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 chi原创 2016-02-19 12:52:59 · 293 阅读 · 1 评论 -
第十一届浙江省程序设计竞赛
A.Pokemon MasterCalem and Serena are pokemon masters. One day they decided to have a pokemon battle practice before Pokemon World Championships. Each of them has some pokemons in each's team.原创 2016-03-16 20:02:03 · 925 阅读 · 1 评论 -
HDu 1058 丑数 (打表||DP,好题啊!!!)
题意:若一个数的所有素因子是2、3、5、7中的一个或多个,则这个数成为Humble数。求第n个Humble数是多少。Problem DescriptionA number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, 5, 6, 7, 8原创 2016-01-15 13:51:03 · 384 阅读 · 0 评论 -
HDU 1412 参加聚会 (map+树形dp)
题目大意:n个人形成一个关系树,每个节点代表一个人,节点的根表示这个人的唯一的直接上司,只有根没有上司。要求选取一部分人出来,使得每2个人之间不能有直接的上下级的关系,求最多能选多少个人出来,并且求出获得最大人数的选人方案是否唯一。前半部分很容易求得,直接一个树形DP,后面的判断最优解是否唯一比较难搞。。看了roba的ppt顿时恍然大悟。 §原创 2016-03-01 12:33:51 · 378 阅读 · 1 评论 -
HDU 1025 最长上升子序列变形 (dp+二分)
将二维转化为一维... 把第一维进行排序就不用考虑第一维的情况了!!!!!解题报告:就是求最长上升子序列,一开始用的普通办法求的!直接TEL;就在网上找了一个时间复杂度为O(nlogn)的算法,其算法思想为:(网上找的)假设要寻找最长上升子序列的序列是a[n],然后寻找到的递增子序列放入到数组b中。(1)当遍历到数组a的第一个元素的时候,就将这个元素放入到b数组中,以后原创 2016-01-28 23:35:33 · 512 阅读 · 0 评论 -
Search gold (DP)
DescriptionDreams of finding lost treasure almost came true recently. A new machine called 'The Revealer' has been invented and it has been used to detect gold which has been buried in the ground.原创 2016-02-05 14:39:56 · 506 阅读 · 0 评论 -
HDU 1087 lcs变形 (简单DP)
Problem DescriptionNowadays, 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 introduce it to原创 2016-01-21 14:42:11 · 378 阅读 · 0 评论 -
HDU 1024 m段子段和最大值 (DP)
本题的大致意思为给定一个数组,求其分成m个不相交子段和最大值的问题。方程 dp[i][j]=Max(dp[i][j-1]+a[j] , max( dp[i-1][k] ) + a[j] ) 0http://www.cnblogs.com/kuangbin/archive/2011/08/04/2127085.html#include#include#include原创 2015-12-03 20:17:08 · 703 阅读 · 0 评论 -
cf19B Checkout Assistant (01背包_好题)
题意:有n个商品,每个商品都有一个付款时间t,和一个价值p,付款的时候可以偷走一个东西,花费1时间....问所以商品获得后最少要花多少钱...转换一下啊思路,这题就是已知一个商品单价p,同时送t个物品,即p元可以买t+1个商品,问n个商品买完,至少要花多少钱...操蛋,想了一天,最后还是看题解才搞定的////...那么其实很简单,就是一个01背包问题原创 2016-04-06 15:39:26 · 1068 阅读 · 0 评论 -
HDU 3452 最小割 (树形dp)
1、http://acm.hdu.edu.cn/showproblem.php?pid=34522、题目大意:给出一棵无向树,每条边都有权值,已知根节点是r,现在要删除部分边,使得所有的叶子结点都不与根连通,求删掉的这些边的最小权值和是多少?首先我们要从根节点开始遍历,从子节点更新到父节点,用dp[i]表示以i结点为根的子树保证子节点不连通最小代价和,那么dp[r]即所求原创 2016-03-01 09:41:58 · 555 阅读 · 1 评论 -
ZOJ 3929 Deque and Balls (放球问题_DP思维好题)
题目大意:给出一个序列,按照顺序一个一个放入双端队列(可以放在头部也可以放在尾部)问,xi>xi+1的期望是多少?思路:有点动态规划的味道,已知前面i个都放好了,那么下一个i+1个放进了会造成多少的贡献,因为第i+1个可以放前可以放后,那么ans*2,再考虑第i+1个数与其他数字造成的贡献。。。此时你会找到回来,a1,a2两次,之后a3=4,a4=8.....so...原创 2016-04-12 01:38:24 · 772 阅读 · 0 评论 -
POJ - 3267 The Cow Lexicon 字符串匹配 (dp)
题意就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列。PS:是匹配单词序列,而不是一个单词此题居然能1Y,我很是欣喜 AC后,看了一下网上的解法,没有特别详细的,我提供一个。网上的讨论,有人说从后面往前面DP会快一些,我觉得没有道理吧。从前往后与从后往前,在DP最优值的递推上要相反,除此以外求remove值时对单词的扫描也原创 2017-04-20 20:14:02 · 327 阅读 · 0 评论 -
codeforce 789 C Functions again (dp)
Something happened in Uzhlyandia again... There are riots on the streets... Famous Uzhlyandian superheroes Shean the Sheep and Stas the Giraffe were called in order to save the situation. Upon the arr原创 2017-04-16 00:01:41 · 482 阅读 · 0 评论 -
POJ - 1837 Balance 天平(二维01背包)
提示:动态规划,01背包初看此题第一个冲动就是穷举。。。。不过再细想肯定行不通= =O(20^20)等着超时吧。。。我也是看了前辈的意见才联想到01背包,用动态规划来解 题目大意:有一个天平,天平左右两边各有若干个钩子,总共有C个钩子,有G个钩码,求将钩码全部挂到钩子上使天平平衡的方法的总数。其中可以把天枰看做一个以x轴0点作为平衡点的横轴输原创 2017-04-19 17:58:40 · 691 阅读 · 0 评论 -
csu 1106 最优对称路径(最短路+路径数)
给一个n行n列的网格,每个格子里有一个1到9的数字。你需要从左上角走到右下角,其中每一步只能往上、下、左、右四个方向之一走到相邻格子,不能斜着走,也不能走出网格,但可以重复经过一个格子。为了美观,你经过的路径还必须关于“左下-右上”这条对角线对称。下图是一个6x6网格上的对称路径。你的任务是统计所有合法路径中,数字之和最小的路径有多少条。 Input输入最多包含25组测原创 2017-04-03 21:11:52 · 476 阅读 · 0 评论 -
CSU 1510 Happy Robot(字符串上的dp)
DescriptionInputThere will be at most 1000 test cases. Each case contains a command sequence with no more than 1000 characters.OutputFor each test case, print the case number, foll原创 2017-03-15 19:33:51 · 238 阅读 · 0 评论 -
HDU 5543 木棍重心放在容器内 (01背包)
题意:给你一个长度为m([1,2000])的长条状容器。 然后我们有n([1,1000])段木棒。 第i段木棒有一个长度a[i].l和价值a[i].v。 我们希望把尽可能大价值的木棒放到容器中,使得所有木棒的重心都在容器内 要求木棒不能重叠。只有两端的木块可以省一半的长度(即重点放在端点上) 解题: 01背包变形,多了一维。 当我们无法判断哪个木块可以放原创 2017-03-28 20:14:24 · 248 阅读 · 0 评论 -
UVALive - 4256 Salesmen (简单DP)
题意: 给定一个包含n个点的无向连通图和一个长度为L的序列A,你的任务是修改尽量少的数,使序列中任意两个相邻数或者相同,或者对应图中相邻的两个点。思路:dp【i】【j】 第i个数为j时的最小修改数。状态想到了,题目就很好写了。。。转移方程也ok的#includeusing namespace std;const int N = 222;int G[N][N原创 2017-03-11 17:26:58 · 263 阅读 · 0 评论 -
HDU 5542 n个数中恰好长度为m的单升子序列数 (DP+树状数组优化)
题意】 给你n(1e3)个数,每个数都在[1,1e9]范围。 然后让你保持数的顺序不变,选出长度恰好为m(1 问你有多少种选择方案 【类型】 DP 最长上升子序列 离散化+树状数组 【分析】 这道题一开始我是以O(nlogn)最长上升子序列的插入法做。但是很难实现。卡了一段时间。 后来结合n只有1000的情况,我们应该设想到O(n^2)的做法。 题目涉及到选择,我们不妨回归到一个很经典的DP原创 2017-03-28 11:52:18 · 462 阅读 · 0 评论 -
codeforces 727F. Polycarp's problems DP or 二分预处理答案
题目链接:http://codeforces.com/contest/727/problem/F 题目大意:有n个问题,每个问题有一个价值ai,一开始的心情值为q,每当读到一个问题时,心情值将会加上该问题的价值。问题只能按顺序读。有m个询问,求当q=bi时,至少要删去多少个问题才能使得在任何时候心情值都>=0。 数据范围:1 ≤ n ≤ 750, 1 ≤ m ≤ 200 000, - 10原创 2017-02-24 10:50:47 · 579 阅读 · 0 评论 -
FZU 2109 Mountain Number (数位DP)
One integer number x is called "Mountain Number" if:(1) x>0 and x is an integer;(2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equal to a[2i] and a[原创 2017-03-03 12:03:58 · 278 阅读 · 0 评论 -
数位DP模板
// pos = 当前处理的位置(一般从高位到低位)// pre = 上一个位的数字(更高的那一位)// status = 要达到的状态,如果为1则可以认为找到了答案,到时候用来返回,// 给计数器+1。// limit = 是否受限,也即当前处理这位能否随便取值。如567,当前处理6这位,// 如果前面取原创 2017-03-03 11:46:23 · 225 阅读 · 0 评论 -
codeforce 754 C. Vladik and chat 安排人说话 (经典DP题)
Recently Vladik discovered a new entertainment — coding bots for social networks. He would like to use machine learning in his bots so now he want to prepare some learning data for them.At first,原创 2017-02-09 15:29:01 · 979 阅读 · 0 评论 -
uva 1640 The Counting Problem (数位dp||统计0-9的个数)
Given two integersaandb, we write the numbers betweenaandb, inclusive, in a list. Your task is tocalculate the number of occurrences of each digit. For example, if原创 2017-01-15 13:37:33 · 418 阅读 · 0 评论 -
玲珑杯 1074 - Pick Up Coins (选硬币 || 区间DP)
DESCRIPTIONThere are n coins in a line, indexed from 0 to n-1. Each coin has its ownvalue.You are asked to pick up all the coins to get maximum value. If the you pickcoini (1 ≤ i ≤n-2), you原创 2016-12-26 20:17:41 · 573 阅读 · 0 评论 -
codeforces 721 Journey (拓扑序+DP)
Recently Irina arrived to one of the most famous cities of Berland — the Berlatov city. There aren showplaces in the city, numbered from 1 to n, and some of them are connected by one-directional r原创 2016-11-22 10:42:24 · 315 阅读 · 0 评论 -
usaco Broken Necklace (串珠子_最大值)
You have a necklace of N red, white, or blue beads (3 1 2 1 2 r b b r b r r b r b原创 2016-10-28 00:20:18 · 484 阅读 · 0 评论 -
51nod 1020 逆序排列 (DP_好题)
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序)给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种?例如:n = 4原创 2015-12-18 14:47:48 · 2299 阅读 · 1 评论 -
HDU 1081 最大子矩阵(LCS_DP+前缀和)
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1 x 1 or greater located within the whole array. The sum of a rectangle is the sum原创 2016-01-18 21:11:04 · 428 阅读 · 0 评论 -
51nod 最长公共子序列 (DP+回溯)
输入第1行:字符串A第2行:字符串B(A,B的长度 输出输出最长的子序列,如果有多个,随意输出1个。输入示例abcicbaabdkscab输出示例abca#include#include#include#includeusing namespace std;c原创 2015-10-09 01:21:28 · 591 阅读 · 0 评论 -
51nod 1051 最大子矩阵和 (dp_good)
一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 31 2Input第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。第2 - N + 1行:矩阵中的元素,每行原创 2015-10-07 17:54:58 · 782 阅读 · 0 评论 -
51nod 循环数组最大子段和 (dp)
N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。Input第1原创 2015-10-06 18:18:02 · 537 阅读 · 0 评论