总结:

其实ST表不仅能处理最大值/最小值,凡是符合结合律且可重复贡献的信息查询都可以使用ST表高效进行。什么叫可重复贡献呢?设有一个二元运算  ,满足  ,则是可重复贡献的。显然最大值最小值最大公因数最小公倍数按位或按位与都符合这个条件。可重复贡献的意义在于,可以对两个交集不为空的区间进行信息合并。

1.最大最小值。

2.在单调序列中,相同数的最大个数。

Frequent values

预处理

cnt[i]每个位置相同数的个数。

last[i]表示每个位置相同数在哪里结束。

对于每次查询[L, R],处理左边界L。

如果last[L] == last[R],输出R - L + 1。

如果last[L] == last[L - 1],说明左边界截断了当前连续序列,同时也要保证ST表查询的序列是一个完整的,因此需要将last[L] - L + 1和ST(last[L] + 1, R)取最大。

其余情况直接输出ST(L, R)即可,因为此时左边界没有截断序列。

3.最大公因数。

D. Pair of Numbers

4.不同数连续序列长度

预处理
len[i]表示以a[i]结尾的最长长度,用ST表维护len数组。
idx[i]表示当前最长序列的开头的坐标。
对于每次查询L, R。序列可能被L在中间截断,用二分找到这段序列结尾mid。除去这段序列,[mid + 1, R]所在的序列一定在[L, R]之内。
因为二分找的是idx[mid] < L 中最大的mid,保证了mid + 1这个序列的开头一定不小于L。
 

ST能维护的性质的更多相关文章

  1. Codeforces 671C - Ultimate Weirdness of an Array(线段树维护+找性质)

    Codeforces 题目传送门 & 洛谷题目传送门 *2800 的 DS,不过还是被我自己想出来了 u1s1 这个 D1C 比某些 D1D 不知道难到什么地方去了 首先碰到这类问题我们肯定考 ...

  2. ECNU 3480 没用的函数 (ST表预处理 + GCD性质)

    题目链接  ECNU 2018 JAN Problem E 这题卡了双$log$的做法 令$gcd(a_{i}, a_{i+1}, a_{i+2}, ..., a_{j}) = calc(i, j)$ ...

  3. 【BZOJ3611】[Heoi2014]大工程 欧拉序+ST表+单调栈

    [BZOJ3611][Heoi2014]大工程 Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道.  我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶 ...

  4. 数据结构进阶:ST表

    简介 ST 表是用于解决 可重复贡献问题 的数据结构. 什么是可重复贡献问题? ​ 可重复贡献问题 是指对于运算 \(\operatorname{opt}\) ,满足 \(x\operatorname ...

  5. st表树状数组入门题单

    预备知识 st表(Sparse Table) 主要用来解决区间最值问题(RMQ)以及维护区间的各种性质(比如维护一段区间的最大公约数). 树状数组 单点更新 数组前缀和的查询 拓展:原数组是差分数组时 ...

  6. Bzoj 2006: [NOI2010]超级钢琴 堆,ST表

    2006: [NOI2010]超级钢琴 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2222  Solved: 1082[Submit][Statu ...

  7. HDU 5875 st+二分区间

    题目大意:给你n个数,q次询问,每次询问区间[l, r],问a[i]%a[i + 1] % a[i + 2]...%a[j](j <= r)的值 思路:st预处理维护,再二分区间,复杂度n*(l ...

  8. [转载]无旋treap:从单点到区间(例题 BZOJ1500&NOI2005 维护数列 )

    转自ZZH大佬,原文:http://www.cnblogs.com/LadyLex/p/7182631.html 1500: [NOI2005]维修数列 Time Limit: 10 Sec  Mem ...

  9. BZOJ 5308 [ZJOI2018] Day2T2 胖 | 二分 ST表

    题目链接 LOJ 2529 BZOJ 5308 题解 这么简单的题 为什么考场上我完全想不清楚 = = 对于k个关键点中的每一个关键点\(a\),二分它能一度成为哪些点的最短路起点(显然这些点在一段包 ...

  10. 【洛谷】【前缀和+st表】P2629 好消息,坏消息

    [题目描述:] uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一 ...

随机推荐

  1. centos7.6 dokcer-compose在线和离线安装

    在线安装可参考官网文档:https://docs.docker.com/compose/install/#install-compose curl -SL https://github.com/doc ...

  2. 百题计划-4 codeforces 652 div2 D. TediousLee 找规律

    https://codeforces.com/contest/1369/problem/D n<=2e6,所以只要找递推式就可以了,不需要找快速幂 /** */ #include<bits ...

  3. 【Windows】Windows11 安卓子系统安装方法与使用技巧

    安卓子系统 (Windows Subsystem For Android, WSA) 可以说是 Windows11 的最强功能,能在 Windows 系统中体验各种安卓应用.但是有些电脑可能不符合硬件 ...

  4. windows平台下软件最小化后无法打开的解决方法

    今天打开电脑后,双击桌面软件图标,软件启动画面出现,等了几秒后直接最小化窗口,感觉有点奇怪.点击任务栏图标后没有反应,软件界面没出现. 以为软件是不是安装破损什么的,重新安装后问题依旧,奇怪,究竟是什 ...

  5. rest-assured:JUnit5中接口测试参数化的支持之利用EnumSource检查用户消息是否包含特定字段(JSON path $ doesn't match.)

    代码:package ghcdgj.restful.framework;import static org.junit.jupiter.api.Assertions.*;import static i ...

  6. HELM的使用

    一.helm的主要功能 1.创建新的chart 2.chart打包成tgz格式 3.上传chart到chart仓库或从仓库中下载chart 4.在kubernetes集群中安装或卸载chart 5.管 ...

  7. 洛谷P4802 [CCO 2015]路短最

    题目 https://www.luogu.com.cn/problem/P4802 思路 数据范围 \(n\leq 18\),义眼丁真,鉴定为状压. 好,那我们来思考一下状态的构建.其实是很套路的东西 ...

  8. 实践:腾讯云COS备份本地数据以及异地备份

    在当前大数据时代背景下,数据在业务中占有不可低估的地位,数据备份已然成为了最后一道屏障. 腾讯云对象存储COS,提供数据备份.共享.大数据处理.线上数据托管一站式解决方案,成为了不少企业和个人用户备份 ...

  9. 剪裁圆形图片cropie

    <!DOCTYPE html> <html> <head> <script src="https://cdn.bootcss.com/jquery/ ...

  10. C++的mfc创建管道

    注意:下面的东西是单管道 //创建管道 CString CDownDlg::CreateCmd(CString res) { CString wrCmd; CString ans = _T(" ...