DP算法
数据结构,算法
ruruoran
这个作者很懒,什么都没留下…
展开
-
数塔
Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 Output对原创 2014-07-16 10:58:41 · 494 阅读 · 0 评论 -
合唱队形
Problem DescriptionN位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 Ti+1 > … > TK (1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下原创 2014-08-26 11:21:21 · 453 阅读 · 0 评论 -
混合背包
Problem Description一个旅行者有一个最多能用V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn。有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。Input输原创 2014-08-25 10:06:51 · 531 阅读 · 0 评论 -
背包问题
Problem Description简单的背包问题。设有一个背包,可以放入的重量为s。现有n(n<=10)件物品,重量分别为w1,w2,...,wn,均为正整数,从n件物品中挑选若干件,使得放入背包的重量之和正好为s。找到一组解即可。如果找不到输出“not found”。Input输入有多组数据,每组数据的第1行是物品总件数和背包的载重量,第2行为各物品的重量。 Output原创 2014-07-28 11:55:20 · 1979 阅读 · 0 评论 -
01背包问题
Problem Description一个旅行者有一个最多能装M公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...Cn,求旅行者能获得最大总价值。Input输入有多组数据,对于每组输入数据第1行:两个整数,M(背包容量,M第2行至N+1行:每行两个整数Wi,Ci,表示每个物品的重量和价值。 Output对于每组输入输原创 2014-08-06 10:56:12 · 409 阅读 · 0 评论 -
完全背包问题
Problem Description设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为m,今从n种物品中选取若干件(用一个物品可以多次选取),使其重量的和小于等于m,而价值的和为最大。Input输入有多组数据,对于每组输入数据第1行:两个整数,M(背包容量,M第2行至N+1行:每行两个整数Wi,Ci,表示每个物品的重量和价值。原创 2014-08-16 18:35:49 · 809 阅读 · 0 评论 -
庆功会
Problem Description为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。Input输入第一行为T,表示数据组数,对于每组数据的第一行二个数n(n接下来n行,每行3个数,v、w、s,分别表示第I种奖品的价格、价值(价格与价值是不同的概念)和购买的数量(买0件到原创 2014-08-20 15:19:11 · 1135 阅读 · 0 评论 -
导弹
Problem DescriptionLong, long ago, country A invented a missle system to destroy the missiles from their enemy. That system can launch only one missile to destroy multiple missiles if the heights of原创 2014-08-18 09:52:24 · 377 阅读 · 0 评论 -
友好城市
Problem DescriptionPalmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的原创 2014-08-13 10:43:57 · 2046 阅读 · 0 评论 -
最长上升子序列
Problem DescriptionA numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1 <= i1原创 2014-07-28 15:18:11 · 529 阅读 · 0 评论 -
拦截导弹
Problem Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前已发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在使用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。Input输入第一个数T表示测试数据数量,后面T行数据,每组数据为导弹依次飞来原创 2014-07-30 14:30:32 · 502 阅读 · 0 评论