动态规划
ctsas
这个作者很懒,什么都没留下…
展开
-
【51nod】1118 机器人走方格 记忆优化宽度优先搜索
广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。 BFS是一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位址,彻底地原创 2016-12-14 19:25:19 · 428 阅读 · 0 评论 -
Longest Ordered Subsequence [dp]
A 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 < i2 < … < iK <= N. For ex原创 2017-02-07 19:05:53 · 269 阅读 · 0 评论 -
Piggy-Bank [dp][完全背包]
Before 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 idea behind is simple.原创 2017-02-07 19:48:40 · 306 阅读 · 0 评论 -
[HPU] Cafeteria [dp][01背包]
题目描述 Nanae把饥肠辘辘的josnch带去一家自助餐厅,面对面前眼花缭乱的美味josnch呆住了。假设有N种食物,每种食物只有一样,而且每种食物有对应的体积Wi (1 <= Wi <= 400),食用每一种食物都能增加对应的愉悦值Di(1 <= Di <= 100).现在已知josnch肚子的容量为M(1 <= M <= 12,880),现在假设josnch足够聪明,请问他如何选择能在可接受原创 2017-02-21 12:21:49 · 623 阅读 · 0 评论 -
[51nod] 1002 数塔取数问题 [dp][空间优化]
一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。5 8 4 3 6 9 7 2 9 5例子中的最优方案是:5 + 8 + 6 + 9 = 28 Input 第1行:N,N为数塔的高度。(2 <= N <= 500) 第2 - N + 1行:每行包括1层数塔的数字,第2行1个数原创 2017-02-26 22:31:20 · 467 阅读 · 0 评论 -
[HPU]1275: God's ladder [DP]
题目描述 天明来到神之宫殿,在他眼前出现了若干个石柱,每个石柱上有1枚金币,天明可以任意选择一个石柱开始,然后向前方的石柱瞬移,而且他所瞬移到的石柱的高度必须要大于现在所在石柱的高度。求天明所能获得的最大金币数以及任意一种可以获得这么多金币的路线(每个石柱的高度)。输入 第一行一个数n,表示石柱的个数。然后2~n+1行,每行一个石柱的高度h[i],分别是1,2,,n石柱的高度。2题解这题的“亮点原创 2017-03-06 11:03:52 · 402 阅读 · 0 评论 -
动态规划的背包问题 (共六题)
开心的金明URL: https://www.luogu.org/problem/show?pid=1060 题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定原创 2017-07-19 19:49:17 · 691 阅读 · 0 评论 -
线性动态规划 (共六题)
P1020 导弹拦截URL: https://www.luogu.org/problem/show?pid=1020题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依原创 2017-07-20 22:18:09 · 920 阅读 · 0 评论 -
Common Subsequence [dp]
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, …, xm > another sequence Z = < z1, z2, …, zk > is a subsequence of X原创 2017-02-07 18:52:58 · 248 阅读 · 0 评论 -
免费馅饼 [dp]
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,原创 2017-02-07 14:47:41 · 346 阅读 · 0 评论 -
【51nod】1134 最长递增子序列
1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。 Input 第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1原创 2016-12-14 19:54:25 · 260 阅读 · 0 评论 -
【51nod】1006 最长公共子序列Lcs
1006 最长公共子序列Lcs基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。比如两个串为:abcicbaabdkscabab是两个串的子序列,abc也是,abca也是,其中abca是这两个字原创 2016-12-09 23:19:52 · 428 阅读 · 0 评论 -
多重背包问题 可行性问题O(V N) 算法
问题:有n种不同大小的数字ai,每种各mi个。判断是是否可以从这些数字中选出若干个使他们的和为k。 算法一#include<stdio.h>int a[100],m[100];bool dp[100][100];int main(){ int n,w; scanf("%d%d",&n,&w); for(int i=0;i<n;i++) scanf("原创 2016-12-17 16:15:16 · 7492 阅读 · 1 评论 -
多重背包 O(W * sigma(logCi)) 算法
我们看看有没有办法变成更好的0-1背包问题。 思路1的意思是说我们把第i种物品看成单个的,一个一个的,我们想想二进制,任何一个数都可以由二的幂表示。我们试试看,比如Ci = 14,我们可以把它化成如下4个物品:重量是Wi,体积是Vi 重量是2 * Wi , 体积是2 * Vi 重量是4 * Wi , 体积是4 * Vi 重量是7 * Wi , 体积是7 * Vi注意最后我们最后我们不能取,重原创 2016-12-16 23:14:28 · 807 阅读 · 0 评论 -
背包问题入门 01背包和完全背包
01背包问题 有N种物品,每种物品的数量为C1,C2……Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。Input 第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W <= 50000) 第2 - N + 1行原创 2016-12-15 11:07:11 · 625 阅读 · 0 评论 -
循环数组最大子段和
分析: (1)笨方法,我们可以用普通最大子段和的方法解决这个问题。我们从每个位置“断开”环,然后按普通的最大子段和的方法去做。这样做的复杂度是O(n^2)。 (2)巧妙点的方法,我们之所以要从某个位置切开是因为循环的最大子段和可能是跨越一部分头和尾。 如上图,最优解可能是0..i, j + 1.. n – 1两段,那这时,其实中间i + 1..j是个“最小子段和”,因为总和是一定得嘛。所以原创 2016-12-15 18:57:18 · 292 阅读 · 0 评论 -
学习笔记-最长上升子序列问题
代码太酷 忍不住想做笔记原创 2016-12-15 20:04:47 · 375 阅读 · 0 评论 -
学习笔记 划分数
有n个无区别的物品,将它们划分成不超过m组,求出划分方法数模M的余数。1<=m<=n<=1000 2<=M<=10000 作个笔记转载 2016-12-21 22:49:59 · 421 阅读 · 0 评论 -
多维动态规划 (共六题)
P1508 Likecloud-吃、吃、吃URL: https://www.luogu.org/problem/show?pid=1508#sub 题目背景问世间,青春期为何物?答曰:“甲亢,甲亢,再甲亢;挨饿,挨饿,再挨饿!”题目描述正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中。某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=20原创 2017-07-21 21:55:41 · 2045 阅读 · 0 评论