随笔分类 -  数据结构-ST算法

摘要:LCA-求树上两点最近公共祖先问题 lrj的紫书上提供了一种将LCA问题转化为RMQ问题的方法,即dfs一次处理出一个序列,first(u)代表u第一次出现的下标,则对于u,v的最近公共祖先的下标即为RMQ(first(u), first(v))。 LCA->RMQ(在线处理): Tarjan算法( 阅读全文
posted @ 2017-03-20 21:23 Robin! 阅读(176) 评论(0) 推荐(0)
摘要:Description 给出N个数,求第a个数到第b个数之间最大的数减去最小的数的结果 Input N(N小于100,000),M(M小于100,000)接下来有N个数接下来M组范围,所有数均在[0,231-1]内每个范围有2个整数a,b(1<=a<=b<=N) Output 每行输出一个结果 Sa 阅读全文
posted @ 2017-02-23 14:59 Robin! 阅读(167) 评论(0) 推荐(0)
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 #define MAXN 1000+10 4 int dp[MAXN][MAXN], a[MAXN]; 5 6 void InitRMQ(int l, int r, int n){ 7 int k 阅读全文
posted @ 2017-01-22 21:29 Robin! 阅读(148) 评论(0) 推荐(0)