HDU 3530 Subsequence (dp+单调队列)...
分类:
其他好文 时间:
2014-12-16 17:08:12
阅读次数:
162
POJ2823 Sliding Window (单调队列的基本应用)...
HDU3415 Max Sum of Max-K-sub-sequence (DP+单调队列)...
分类:
其他好文 时间:
2014-12-16 17:04:56
阅读次数:
162
我搜索了一下,找到了一篇很好的博客,讲的挺详细:链接。解析多重背包的最原始的状态转移方程:令 c[i] = min(num[i], j / v[i])f[i][j] = max(f[i-1][j-k*v[i]] + k*w[i]) (1 <= k <= c[i]) 这里的 k 是指取第 i 种物.....
分类:
编程语言 时间:
2014-12-15 23:18:14
阅读次数:
245
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3415题意:一个长度为n包含正负整数的数环,即第1个的左边是第n个。从中选一个不超过k的序列,使得序列和最大,最大值相同选开始点最小的,开始点相同选长度最小的。分析:单调队列维护在k个数之内的最小值的下标...
分类:
其他好文 时间:
2014-12-12 22:05:47
阅读次数:
231
题目大意:给定一棵树,询问长度在[l,u]范围内的路径中边权的平均值的最大值
01分数规划,首先想到二分答案
既然是统计路径肯定是点分治
每次统计时我们要找有没有大于0的路径存在
那么对于一棵子树的每一个深度i记录一个路径权值和的最大值
然后在这棵子树之前的所有子树的深度可选范围就是[l-i,u-i] 这个窗口是不停滑动的 因此用单调队列维护最大值即可
↑上面这些网上的题解都说的还是蛮...
分类:
其他好文 时间:
2014-12-11 14:08:43
阅读次数:
238
简单的单调队列优化,注意是哪些点加入队列即可。#include #include #include #include #include #define N 500050#define LL __int64using namespace std;LL sum[N],dp[N]; int q[N];in...
分类:
其他好文 时间:
2014-12-11 00:13:08
阅读次数:
171
斜率DP入门题。推荐看看这篇http://www.cnblogs.com/ka200812/archive/2012/08/03/2621345.html看过之后,自己思考,发现有些不妥之处就是,其实CI必须为正数才能保证SUM【i】的那个比较条件是成立的,才能使用单调队列维护,没有这个条件,是不成...
分类:
其他好文 时间:
2014-12-10 14:11:20
阅读次数:
206
题目大意:给出一个字符串,求出出现过k次以上的最长的子串(可重叠).
思路:现弄出来sa数组和height数组,之后就是判断每个长度为k的height数组的区间中最小的数字的最大值了.为什么好多人都二分了?这只要单调队列扫一次就行了啊..
CODE:
#include
#include
#include
#include
#include
#define M...
分类:
其他好文 时间:
2014-12-08 13:57:55
阅读次数:
134
求前i个数的和,当到j时,即是求sj-si,得i-j的和。只要求前面的si最小即可。此处可以用单调队列维护。#include #include #include #include #define N 200500using namespace std;int num[N];struct node{ ...
分类:
其他好文 时间:
2014-12-07 10:10:01
阅读次数:
144