1.01背包 二维递推式子: 代码: 然而有时候,由于容量或者物品数过多可能导致用二维数组可能超空间,此时可以考虑一维的优化 用f[i]表示当使用了i的容量后最多可以装多少价值的物品,我们可以推出以下代码: 和上面比两段代码时间复杂度相同,而空间复杂度则得变小了许多,注意枚举容量j的时候一定要按倒叙 ...
分类:
编程语言 时间:
2017-09-15 19:08:10
阅读次数:
204
题目如下: 这道题难点不仅在于正确理解题意,判断递归条件,更在于用数学方法推出解决公式。因为N最大为1百万,而内存只有256MB, 所以暴力递归肯定会超时,超空间。 不过,我才疏学浅,又没有大量时间去深究,所以只写出了暴力递归算法。进一步优化的话,可以考虑P在迭代很久后会变为0这一事实,也许可以进一 ...
分类:
其他好文 时间:
2017-04-02 11:50:28
阅读次数:
166
dp方程很简单: f[i] = min{ f[i-j] } + stone[i] 但是数据10^9太大了,超时超空间,这样只能过30% 来自:http://blog.csdn.net/w19960702123/article/details/40478187 当我们看到10^9与100块石头,和s, ...
分类:
其他好文 时间:
2016-07-08 18:04:23
阅读次数:
120
题目大意:给出N个点,M条线,Q个询问,询问的是两点之间的最短距离解题思路:恶心的数据量,一不小心就超空间了
这题给图不是张连通图,是森林,所以计算两点之间的最短距离时还要考虑一下是否在同一棵树中剩下的就是裸LCA了#include
#include #define N 10010
#define M 20010
#define C 2000010struct...
分类:
其他好文 时间:
2015-08-14 06:30:59
阅读次数:
103
今天遇到一个网友问我如果只有一些线性约束,我如果想把所有的可行解都输出出来怎么办?作为一个算法爱好者和史上最懒的程序员,感觉必须要找一个最好的算法出来。不负众望,想到一个挺好的算法,就与大家分享一下。
例如下面的小例子:
一个约束条件为
|a1x1+a2x2+a3x3+...+anxn?b|<e|a_1x_1+a_2x_2+a_3x_3+...+a_nx_n-b|<e
0=<x1<=M10=...
分类:
编程语言 时间:
2015-07-11 13:43:37
阅读次数:
144
题目大意:往一面墙上贴与墙等高的海报,n次贴完后,求可以看见的海报总数(看见一部分也算)思路:明显的区间维护,用线段树,不过裸的线段树超时超空间,可以把坐标离散,得到不超过200000个有效点,每个点都表示一个小区间(a[i]~a[i+1]这一段),然后就可以轻松地解决了。不过题目有个坑,给定的右坐...
分类:
其他好文 时间:
2014-08-04 20:47:37
阅读次数:
369