
动态规划
ACM之动态规划
黎轩栀海
只是简单的随心记录,不喜勿喷。。。
展开
-
NYOJ 740 “炫舞家”ST
“炫舞家“ST时间限制:3000 ms | 内存限制:65535 KB难度:3描述ST是一个酷爱炫舞的玩家。TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机(Dance Dance Revolution,DDR)。但是TA每天还要努力的学习,因此TA希望每次都保存最多的体力来学习。DDR的主要内容是用脚来踩踏板。踏板有4个方向的箭头,用1,2,3,转载 2015-11-05 09:26:48 · 596 阅读 · 0 评论 -
最大矩阵和 HDU1081 & NYOJ 104
To The Max题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081思路:其实就是化二维为一维,可以把有相同行数的每一列的最大值求出来就可以了,每次都要更新原创 2016-03-26 20:13:32 · 356 阅读 · 0 评论 -
hdu 1069 —— Monkey and Banana
Monkey and Banana题目的意思是:有n种长方体,每种长方体都有无限多个,问用这些长方体最高能摆多高?(也可以这样理解:类似于矩形嵌套,这题是方块嵌套,方块可以旋转,嵌套规则为前一个方块的长和宽都大于后面的长和宽,求这样嵌套下去后能得到的最大长度)要求:下面的长方体的长大于上面长方体的长,宽大于上面长方体的宽;题解:首先读取方块,一个方块可以变换为9种方块,然后按照长度排序,dp[i]表示以第i个方块结尾时得到的序列长度。原创 2016-03-21 13:17:37 · 291 阅读 · 0 评论 -
丑数问题 hdu— — Humble Numbers
Humble Numbers题意:若一个数的所有素因子是2、3、5、7中的一个或多个,则这个数成为Humble数。求第n个Humble数是多少分析:若一个数是Humble数,则它的2、3、5、7倍仍然是Humble数。设a[i]为第i个Humble数,则a[n] = min(2*a[b2], 3*a[b3], 5*a[b5], 7*a[b7]), b2、b3、b5、b7在不断更新原创 2016-03-13 18:47:22 · 514 阅读 · 0 评论 -
(动态规划)ural 1073 Square Country
Square Country 题意: 在一个正方形的国度里住着正方形的人.在这个国家里,所有的东西都是正方形的.该国的国会通过了一项关于土地的法律,依照法律,该国的国民有买土地的权利,当然,土地的买卖也是按照正方形进行.而且,买卖的土地的边长必须是整米数,每买一块土地,必须付款(用当地的钱币),每买一块地,买主会得到一份土地所有者的证明.一个市民打算把他的钱投资到土地上,因为都只能买边长为整数的正方形地,他希望土地的块数最小.他认为:"这使我在交税时,更方便",他终于购地成功. 你的任务是找出他购地的块原创 2015-12-07 15:01:37 · 405 阅读 · 0 评论 -
最长公共子序列 —— NYOJ 36
最长公共子序列时间限制: 3000ms内存限制: 128000KB64位整型: Java 类名:题目描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多原创 2016-03-28 15:27:47 · 276 阅读 · 0 评论 -
单调递增最长子序列
单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklm原创 2015-10-29 16:26:52 · 414 阅读 · 0 评论 -
双线dp ——牧场物语
牧场物语Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice FZU 2234Description小茗同学正在玩牧场物语。该游戏的地图可看成一个边长为n的正方形。小茗同学突然心血来潮要去砍树,然而,斧头在小茗的原创 2016-05-10 16:31:42 · 1042 阅读 · 0 评论 -
最大值——传纸条
传纸条(一)题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者原创 2016-05-10 16:34:10 · 790 阅读 · 0 评论 -
ZOJ 3931 Exact Compression
【题意】有n(128)个节点,我们要构造一棵哈夫曼树。然后给每个节点做编码。我们最后会求和——每个点的点权*根节点到这个节点路径上0的个数是否恰好为m(m∈[0,1e8])实际上可达的数值上限只有448000原创 2016-04-19 14:13:43 · 682 阅读 · 0 评论 -
(多重背包)—— HDU 2191
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 22391 Accepted Submission(s): 9447Problem Description原创 2016-04-08 08:58:20 · 319 阅读 · 0 评论 -
类似最集合中最大子序列 hdu 2668
Daydream时间限制: 1000ms内存限制: 32768KBHDU ID: 266864位整型: Java 类名:题目描述Welcome to 2009 HDU Girl’s Cup, bless you will happy in it.Every girl are beautiful if you use you hear原创 2016-03-25 20:59:17 · 374 阅读 · 0 评论 -
动态规划
特征: 1>最优子结构 当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。 2>重叠子问题 在用递归算法时,自顶向下解问题时,每次产生的子问题并不总是新问题,有些子问题会被反复计算多次。动态规划是利用这种子问题的重叠性质对每一个子问题只解一次,而后将其解保存在一个表格中,在以后尽可能多地利用这些子问题佛如分解。适用动态规划解题的条件:必须满足最优化原理和无后效性最优解原理:原创 2015-08-03 17:56:48 · 343 阅读 · 0 评论 -
NYOJ 10 skiing
skiing时间限制:3000 ms | 内存限制:65535 KB难度:5描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3原创 2015-11-02 15:00:14 · 304 阅读 · 0 评论 -
01背包
01背包(ZeroOnePack)有N件物品和一个容量为V的背包,(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i],求解将哪些物品装入背包可使价值总和最大。这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v原创 2015-12-17 13:14:20 · 235 阅读 · 0 评论 -
hdu 1203 (01背包)
I NEED A OFFER!Problem DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用原创 2015-12-18 13:09:39 · 345 阅读 · 0 评论 -
背包问题 — — NYOJ 860 又见01背包
又见01背包时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输原创 2016-03-31 20:24:39 · 238 阅读 · 0 评论 -
NYOJ 106 背包问题
背包问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。输入第一行输入一个正整数n(1随后有n测试数原创 2016-03-31 20:54:11 · 308 阅读 · 0 评论 -
合唱队形
合唱队形题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1Ti+1>…>TK(1 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。原创 2016-03-08 19:46:38 · 446 阅读 · 0 评论 -
类似于 合唱队形 —— hdu 1257 最少拦截系统
最少拦截系统某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,原创 2016-03-08 19:50:42 · 318 阅读 · 0 评论 -
背包九讲
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便转载 2015-11-17 16:26:04 · 275 阅读 · 0 评论 -
(完全背包) hdu 1114 Piggy-Bank
Piggy-BankBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The ide原创 2016-03-08 21:06:05 · 479 阅读 · 0 评论 -
Max Sum Plus Plus
Max Sum Plus Plus题的大致意思为给定一个数组,求其分成m个不相交子段和最大值的问题设Num为给定数组,n为数组中的元素总数,Status[i][j]表示前i个数在选取第i个数的前提下分成j段的最大值,其中1<=j<=i<=n && j<=m,状态转移方程为:Status[i][j]=Max(Status[i-1][j]+Num[i],Max(Status[0][j-1]~Status[i-1][j-1])+Num[i])原创 2016-03-12 18:07:48 · 446 阅读 · 0 评论