RMQ
mmk27
这个作者很懒,什么都没留下…
展开
-
POJ - 3368 Frequent values RMQ或线段树
题目链接:点击查看 题意:n个数,q次询问,区间(l,r) 连续出现的数最多的次数 题解:1、RMQ,保存区间的最大值,但先要把前面和a[l-1]相同的数去掉,对于特殊的数据也是会T的(比如n个数全都相同),这里主要是学习下方法; 2、线段树维护区间最大值,直接就是nlog(n) RMQ: #include <iostream> #include <cstdio>...原创 2019-03-26 09:47:33 · 118 阅读 · 0 评论 -
SPOJ - COT Count on a tree 主席树+树上倍增LCA+rmq+离散化
题目链接:点击查看 题意:一个树,给出n个点的高度,求两点路径上第k小的高度 题解1:主席树+倍增找LCA #include<bits/stdc++.h> using namespace std; const int N=1e5+10; struct node { int l,r; int val; }tree[N*22]; vector<int> ...原创 2019-04-08 23:50:34 · 178 阅读 · 0 评论 -
2019CCPC网络赛 HDU - 6704 K-th occurrence 后缀数组+ST 二分+主席树
题目链接:https://vjudge.net/problem/HDU-6704 题解:ST表维护下 后缀排序后的公共长度 的最小值,然后二分找出左右符合的位置,主席树维护下排序后的序列,然后主席树查询第k大即可 #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f const int N=100...原创 2019-08-23 20:40:05 · 712 阅读 · 0 评论 -
CodeForces - 689D Friends and Subsequences ST表+二分
题目链接:https://codeforces.com/problemset/problem/689/D 题意:有多少区间[l, r]满足,max(al..ar) = min(bl..br) 题解:对于先固定l,那么对于max(a),是一个递增的序列,对于min(b)是一个递减的序列,因此我们就可以二分确定出,第一个符合条件的位置和最后一个符合条件的位置 #include <bits...原创 2019-10-02 14:15:17 · 143 阅读 · 0 评论