ICode9

精准搜索请尝试: 精确搜索
  • POJ3264 Balanced Lineup [RMQ模板]2019-07-11 21:03:35

    题意:有n头牛,输入他们的身高,求某区间身高的极值的差(max-min), 用RMQ模板,同时构造求极大值和极小值的两个数组。 1 //poj3264 2 #include <iostream> 3 #include <string> 4 #include <cstring> 5 #include <queue> 6 #include <vector> 7 #include <cstdio> 8 #include<cmath

  • [Bzoj1047][HAOI2007]理想的正方形(ST表)2019-07-07 20:51:17

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1047   题目虽然有一个n的限制,但求二维区间最值首先想到的还是RMQ,但是如果按照往常RMQ的写法,空间复杂度是O(n2*(log2(n)2)),而且需要两个求最大最小,所以会爆空间,大概也会T,233。 所以这个时候发现n还是蛮重要的,dp[i][j]表

  • RMQ2019-07-02 12:51:47

    for(i=1;i<=n;i++)f[i][0]=a[i]; //初始化for(j=1;j<=int(log(n)/log(2));j++) //递推 for(i=1;i+(1<<j)-1<=n;i++) f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]); int Ask(int L,int R) { int k; k=int(log(R-L+1)/log(2)

  • [CodeForces 52C]Circular RMQ2019-06-22 14:03:35

    题目传送门 评分:省选/NOI-,难度:普及+/提高 这题真的和RMQ没有半点关系,只需要一个裸的线段树,连pushdown都不需要,只需要两种操作:区间修改和区间求最小值,在回溯时加上标记即可,唯一有点思维含量的是对环的处理,如果左端点大于了右端点,就维护(l,n)(1,r),否则正常维护即可,不知道线段树怎么打

  • Codeforces 1175F The Number of Subpermutations (思维+rmq)2019-06-07 14:50:33

    题意: 求区间[l, r]是一个1~r-l+1的排列的区间个数 n<=3e5 思路: 如果[l,r]是一个排列,首先这里面的数应该各不相同,然后max(l,r)应该等于r-l+1,这就能唯一确定这个区间满足条件了 我们只需要预处理出对于每个左端点,它能伸延到的最远的r,使得l到r各不相同,然后暴力 注意如果对于一次暴力不

  • st2019-06-05 21:40:06

    简介 st表是解决RMQ问题(静态区间最值问题)的一种强有力的工具 它可以做到O(nlogn)预处理,O(1)查询最值 原因:倍增中的层数是log2(n),即2^j <= n, 所以d中元素不超过n*logn, 而每个元素都可以在常数的范围内计算完毕,所以总时间是O(nlogn) 算法 d(i,j)表示从 i 开始的,长度为2的 j 次方的

  • RMQ问题--ST2019-06-02 20:43:45

    1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 using namespace std; 5 const int maxn = 1e5+5; 6 int f[maxn][25]; 7 int n,m; 8 inline int RMQ(int l,int r){ 9 int k = log2(r-l+1);10 return min(f[l][k],f[r-(1<<k)

  • 分布式消息通信之RabbitMQ_笔记2019-05-27 21:55:05

    目录 RabbitMQ 安装 install RabbitMQ 应用场景,特性 应用场景 官网入门指引 rabbitmq_tutorials RabbitMQ 工作模型 工作模型 RabbitMQ 主要的几种交换机类型 交换机 Java API的使用,  声明Exchange,Queue,发送消息时的具体参数含义 参数说明 Spring RMQ 使用 SpringBoot RMQ 使

  • 单调栈+RMQ2019-04-22 11:50:22

    单调栈+RMQ 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5696 题意 给出一个长度为n(1 <= n <= 100000)的序列,区间权值为区间最大值乘以区间最小值,输出长度为1到n的区间的最大权值。 题解 先利用单调栈算出以a[i]为最小值的最大区间延伸,设该区间宽度为L,则更新ans[L](这里

  • hdoj6483 A Sequence Game(ST预处理RMQ+莫队)2019-04-16 20:44:44

    传送:http://acm.hdu.edu.cn/showproblem.php?pid=6483 题意:有长度为$n$的数组,对于一个子区间$[l,r]$内,存在最大值$mx$与最小值$mi$,有$q$的询问,每个询问要求判断在某个子区间$[l,r]$内$[mi,mx]$的值是否连续存在,即$mi,mi+1,....,mx$每个数都出现过至少一次。$T=5,1<=n<=10000,1<=a_i<=

  • RMQ-ST表2019-04-11 19:55:29

    #include<bits/stdc++.h> #define me(a,x) memset(a,x,sizeof(a)) #define scnaf scanf #define itn int using namespace std; const int o_o=5e4+5; const int mod=1e9+7; const int oo=0x7fffffff; const int sup=0x80000000; typedef long long ll; typedef unsign

  • 51Nod 1593 公园晨跑(RMQ,ST表)2019-03-28 20:48:21

    http://www.51nod.com/Challenge/Problem.html#!#problemId=1593 思路 参考胡小兔大佬的题解搞定了,写的很好,不妨看下,这里就不罗嗦了 1 #define IO std::ios::sync_with_stdio(0); 2 #include <bits/stdc++.h> 3 #define iter ::iterator 4 using namespace std; 5 typedef long

  • Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】2019-03-18 21:44:53

    题目分析: 这道题我是乱搞的,因为他说$01$串是随机的。 那么我们可以猜测能够让LCP变大的地方很少。求出后缀数组之后可能让LCP变大的地方就等价于从大到小往height里动态加点同时维护这个点左右两边的单调栈。 这个事情用线段树模拟就行了。 用暴力跑一下发现果然不大,只有200w,其中很

  • LCA RMQ+时间戳2019-02-27 21:02:28

    题目有点卡常数 一开始st表没打好调了好久 #include <bits/stdc++.h>#define ll long longusing namespace std;const ll MAXN=1001000;ll n,m,s,a,b,w;ll first[MAXN],last[MAXN],sh[MAXN],de[MAXN];ll deep[MAXN];vector <ll> e[MAXN/2];struct node{ ll num,wh;}f[20][MAXN]

  • P2251 质量检测--洛谷luogu2019-02-16 21:00:41

    传送门 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... Am},以及第2至第M + 1件的Q[m + 1], Q[m + 2] ... 最后统计第N - M + 1至第N件的Q[n]。根据Q再做进一步评估。 请

  • ST算法(倍增)(用于解决RMQ)2019-02-13 19:47:59

    ST算法 在RMQ(区间最值问题)问题中,我了解到一个叫ST的算法,实质是二进制的倍增。 ST算法能在O(nlogn)的时间预处理后,用O(1)的时间在线回答区间最值。 f[i][j]表示从i位起的2^j个数中的最大(最小)数,即[i,i+2^j-1]中的最大(最小)值,从其定义中可以看出来。 下面的实现代码以最大值为例

  • BZOJ2006 ST表 + 堆2019-02-12 11:47:48

    https://www.lydsy.com/JudgeOnline/problem.php?id=2006 题意:在长度N的序列中求K段长度在L到R之间的区间,使得他们的和最大 很容易想到要求一个前缀和。 然后每一个位置i就对应后面的一段i + L - 1 ~ i + R - 1的区间,如果考虑暴力的话,就把每一个值对应的区间内所有的值再全部加入

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有