RMQ
左佥都御史
这个作者很懒,什么都没留下…
展开
-
hihocoder-1068-RMQ-ST算法模板
rmq问题被提出的原因是因为朴素的查找如果太长了就会tle。所以用动态规划来处理一下。#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; const int MAXN=1e6+5; int A[MAXN]; int FMin[MAXN][20],FMax[MAXN原创 2017-06-05 12:39:35 · 328 阅读 · 0 评论 -
Gym - 100971D- Laying Cables-单调栈或者rmq思想,区间树。
http://codeforces.com/gym/100971/problem/D 给定你一些城市(直线)的坐标和城市人口大小,要求你输出距离每个城市最近的比他人口大的城市标号(不是坐标哦), 如果没有,则置为-1。 单调栈确实好用,维护一个单调递减的栈,分别从左到右,在从右到左,分别计算离他最近的点。 wa了好多,就是没有注意第三组数据,没有给loc排序(坐标),这样得到的最左和最右很可原创 2017-05-22 22:23:20 · 473 阅读 · 0 评论 -
hdu5696-分治-暴力剪枝-rmq-dfs-单调栈-区间的价值
后几个写法慢慢写。 开始写了一个暴力,一直tle,应该是边界没处理好。尴尬。。#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; typedef long long ll; const int maxn=100050; ll dp[maxn]; ll a[m原创 2017-06-30 21:41:07 · 358 阅读 · 0 评论 -
hdu4123-树的直径+ST算法记忆化-Bob’s Race
http://acm.hdu.edu.cn/showproblem.php?pid=4123 给定一个树,问你i点到其他点的最远距离为num[i]。 问你num[i] 之间绝对值小于k的 连续区间是多少。。 思路:看懂题就好办了,先求一下所有点到其他点的最短距离(用树形dp求树的直径,这样比用dfs求方便一点)。然后把距离打到一个st算法里。 尺取法是看了别人的qwq。自己没写好,还有就是s原创 2017-10-05 19:32:16 · 218 阅读 · 0 评论