ST能维护的性质
总结:
其实ST表不仅能处理最大值/最小值,凡是符合结合律且可重复贡献的信息查询都可以使用ST表高效进行。什么叫可重复贡献呢?设有一个二元运算 ,满足
,则
是可重复贡献的。显然最大值、最小值、最大公因数、最小公倍数、按位或、按位与都符合这个条件。可重复贡献的意义在于,可以对两个交集不为空的区间进行信息合并。
1.最大最小值。
2.在单调序列中,相同数的最大个数。
预处理
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.最大公因数。
4.不同数连续序列长度
ST能维护的性质的更多相关文章
- Codeforces 671C - Ultimate Weirdness of an Array(线段树维护+找性质)
Codeforces 题目传送门 & 洛谷题目传送门 *2800 的 DS,不过还是被我自己想出来了 u1s1 这个 D1C 比某些 D1D 不知道难到什么地方去了 首先碰到这类问题我们肯定考 ...
- ECNU 3480 没用的函数 (ST表预处理 + GCD性质)
题目链接 ECNU 2018 JAN Problem E 这题卡了双$log$的做法 令$gcd(a_{i}, a_{i+1}, a_{i+2}, ..., a_{j}) = calc(i, j)$ ...
- 【BZOJ3611】[Heoi2014]大工程 欧拉序+ST表+单调栈
[BZOJ3611][Heoi2014]大工程 Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶 ...
- 数据结构进阶:ST表
简介 ST 表是用于解决 可重复贡献问题 的数据结构. 什么是可重复贡献问题? 可重复贡献问题 是指对于运算 \(\operatorname{opt}\) ,满足 \(x\operatorname ...
- st表树状数组入门题单
预备知识 st表(Sparse Table) 主要用来解决区间最值问题(RMQ)以及维护区间的各种性质(比如维护一段区间的最大公约数). 树状数组 单点更新 数组前缀和的查询 拓展:原数组是差分数组时 ...
- Bzoj 2006: [NOI2010]超级钢琴 堆,ST表
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 552 MBSubmit: 2222 Solved: 1082[Submit][Statu ...
- HDU 5875 st+二分区间
题目大意:给你n个数,q次询问,每次询问区间[l, r],问a[i]%a[i + 1] % a[i + 2]...%a[j](j <= r)的值 思路:st预处理维护,再二分区间,复杂度n*(l ...
- [转载]无旋treap:从单点到区间(例题 BZOJ1500&NOI2005 维护数列 )
转自ZZH大佬,原文:http://www.cnblogs.com/LadyLex/p/7182631.html 1500: [NOI2005]维修数列 Time Limit: 10 Sec Mem ...
- BZOJ 5308 [ZJOI2018] Day2T2 胖 | 二分 ST表
题目链接 LOJ 2529 BZOJ 5308 题解 这么简单的题 为什么考场上我完全想不清楚 = = 对于k个关键点中的每一个关键点\(a\),二分它能一度成为哪些点的最短路起点(显然这些点在一段包 ...
- 【洛谷】【前缀和+st表】P2629 好消息,坏消息
[题目描述:] uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一 ...
随机推荐
- centos更改java的环境变量
vi /etc/profile 在最后添加这个信息,或修改这些信息 export JAVA_HOME=/usr/local/java/jdk1.8.0_251export CLASSPATH=.:$ ...
- 攻防世界-file_include(绕过base64)
有简单过滤防护的文件包含 一.源码分析 易知$filename处可能会存在文件包含漏洞.但注意到include了一个./check.php文件,猜测可能有过滤.先不管,于是直接使用普通payload ...
- 初次安装虚拟机和Linux
--初学Linux记录点滴 使用软件 VMware-Workstation-15.0.4 CentOS-7-x86_64-Minimal-2003.iso 1.首先使用 VMware-Workstat ...
- spring-cloud项目初始化问题
无法引入本地依赖 参考:https://blog.csdn.net/qq_39684784/article/details/115289982 时区问题: url设置:serverTimezone=U ...
- nop调试-区域路由问题
1.在修改nop代码时,web项目里有一个namecontroller,然后区域Areas里也有一个namecontroller, 然后跳转时报错,提示有多个匹配项. 2.查看区域添加路由步骤:两步即 ...
- 关于centos防火墙的一些问题
防火墙有两种:firewall iptables. 两个都需要设置
- 摹客演示Axure原型,适配更丰富机型
Hi!各位小伙伴!又到了摹客的新功能播报时间.本次更新,对Axure原型的演示进行了优化,支持预览不同分辨率的布局:在设计规范方面,非编辑者的界面标识也更加清晰:另外还有一些细节体验的优化.下面就一起 ...
- Supervisor安装及配置
Supervisor安装 # 安装 easy_install supervisor # 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.con ...
- k8s master节点高可用 nginx+keepalived配置文件
nginx配置 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; i ...
- tidb自动处理僵尸进程脚本
[root@host-2 wj]# vi kill_tidb_zombie.sh #!/bin/bash source /etc/profile cat /dev/null > /tmp/sql ...