码迷,mamicode.com
首页 >  
搜索关键字:滚动数组    ( 315个结果
HDU2159 二重完全背包
和普通的完全背包不同的地方时多了物品选取的限制,因此需要增加一维dp[i][j][k]表示前i种物品,选取j个放入容量为k的背包中所能得到的最大价值这里和一维的背包一样可以利用滚动数组省略一维即dp[i][j] 表示前选取i个放入容量为j的背包所能得到的最大价值dp[i,j] = max(dp[i,...
分类:其他好文   时间:2014-09-19 22:22:06    阅读次数:236
ZOJ 3812 We Need Medicine(牡丹江网络赛D题)
ZOJ 3812 We Need Medicine 题目链接 思路:dp[i][j][k]表示第i个物品,组成两个值为j和k的状态,这样会爆掉,所以状态需要转化一下 首先利用滚动数组,可以省去i这维,然后由于j最大记录到50,所以可以把状态表示成一个二进制数s,转化成dp[k] = s,表示组成k状态能组成s,这样空间复杂度就可以接受了,然后这题时限还可以,就这样去转移,然后记录...
分类:其他好文   时间:2014-09-10 22:33:31    阅读次数:261
BZOJ 3628 JLOI2014 天天酷跑 记忆化搜索
题意:。。。给定一个矩阵,每个点有一堆金币,自己在(0,1),然后各种跳,求最大收益(具体自己看) 传说中的省选第二题,当时写的爆搜20分,现在想想把深搜改成广搜再加个记忆化不就切了么。。。不过这题要开滚动数组 直接交MLE 我自然溢出的队列居然写挂了。。。直接把h-1写在中括号里会强制类型转换成int导致调用q[-1] 所以只能这样了 交的人好少。。这题也没啥意思 水水就切了 注意这题无...
分类:其他好文   时间:2014-09-09 18:25:49    阅读次数:233
ZOJ 3802 Easy 2048 Again 状压DP
直接从前往后DP,因为一共只有500个数,所以累加起来的话单个数不会超过4096,并且因为是Flappy 2048的规则,所以只有之后数列末尾一串递减的是有效的,因此可以状压。1700ms = =,据说用滚动数组优化一下会好很多#include #include #include #include ...
分类:其他好文   时间:2014-09-01 20:55:43    阅读次数:221
UVa 11137 (完全背包方案数) Ingenuous Cubrency
题意:用13、23……k3这些数加起来组成n,输出总方案数d(i, j)表示前i个数构成j的方案数则有d(i, j) = d(i-1, j) + d(i, j - i3)可以像01背包那样用滚动数组来实现 1 //#define LOCAL 2 #include 3 #include 4 #in.....
分类:其他好文   时间:2014-08-31 22:47:01    阅读次数:236
hdu 3392(滚动数组优化dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3392 Pie Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 793    Accepted Submission(s): 214...
分类:其他好文   时间:2014-08-22 13:06:38    阅读次数:205
poj 1159 Palindrome lcs+滚动数组
点击打开链接题目链接 Palindrome Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 52910   Accepted: 18248 Description A palindrome is a symmetrical string, that i...
分类:其他好文   时间:2014-08-20 10:29:46    阅读次数:194
HDU 2546 饭卡 01背包问题
01背包问题,增加一个额外条件,余额大于等于5的时候,可以购买任意价格的东西,那么就把5保留下来买最大价格的物品。 然后转化为收益的时候要注意初始条件,即没买东西的时候收益就是余额,就是所有的钱。这个还是有点难转换思维的。 最后是要熟悉背包填表,不需要保留选择的时候,就逆向填表,只需要一维表就可以了,当然也可以使用滚动数组,两个一维数组就可以了。 走了算法一圈回来了,AC自动机,线段树等都学...
分类:其他好文   时间:2014-08-13 10:34:46    阅读次数:218
滚动数组~\(≧▽≦)/~
今天第一次用了滚动数组,缘由要从一道题说起:POJ 1159 Palindrome 题意:给你一个字符串,求对字符串最少添加几个字符可变为回文串。 分析: 简单做法是直接对它和它的逆序串求最长公共子序列长度len。n-len即为所求。至于为什么,小盆友们可以自己模拟一下下。O(∩_∩)O~因为这不是...
分类:其他好文   时间:2014-08-09 11:29:07    阅读次数:286
滚动数组的简单实用
二维动规是如果只用到本层的和上一层的数据就可以用滚动数组 比如 dp[i,j]=max(dp[i-1,j],dp[i,j-1]); max的意思就不多说了... 具体例子的话,比较经典的就是最长公共子序列,就是 abcde 和 aecd的最长公共子序列就是acd。 如果不是滚动数组的话就是 for i:=1 to length(st1) do for j:=1 to length(st2)d...
分类:其他好文   时间:2014-08-05 00:48:38    阅读次数:266
315条   上一页 1 ... 28 29 30 31 32 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!