区间最大值,nlogn预处理,1查询,不能动态修改。 令 $f[i][j]$ 表示 $[i,i+2^j-1]$ 的最大值。 显然, $f[i][0]=a[i]$ 。 根据定义式,写出状态转移方程: $f[i][j]=max(f[i][j-1],f[i+2^{j-1}][j-1])$ 。 我们可以这么 ...
分类:
其他好文 时间:
2019-03-04 20:46:39
阅读次数:
175
"$\verb|Luogu 3793 由乃救爷爷|$" rmq,数据随机 $n,\ m\leq 2\times10^7$ lxl ST表 分块,大小设为 $x$ 预处理每个块两端到块内每个点的前缀 $\max$ 和后缀 $\max$ 预处理块间ST表 数据随机 就成了期望 $O(n)$ 的rmq 重 ...
分类:
其他好文 时间:
2019-03-03 09:28:26
阅读次数:
167
总是犯低级错误,st表都能写错…… 正反分别做一遍SA,预处理st表方便查询lcp,然后处理a[i]表示前i个后缀一共有多少个本质不同的子串,这里的子串是按字典序的,所以询问的时候直接在a上二分排名就能得到询问区间,然后用正反st表查lcp即可 cpp include include include ...
分类:
其他好文 时间:
2019-02-26 11:47:01
阅读次数:
161
对于RMQ这种静态最值询问, 用线段树的话查询过慢, 一般用ST表预处理后O(1)查询, 下以最大值查询为例, 这里假定$n$不超过5e5 若需要求最大值的下标, 可以这样写 ...
分类:
其他好文 时间:
2019-02-24 21:32:19
阅读次数:
201
eval: 可以把字符串里的字符转换为可执行代码,但只支持一行字符。可以返回执行后得到的值。如下: f = "3+6+9+8"s = eval(f)print(s)输出: "C:\Program Files\python3\python3.exe" D:/codes_py3/luhy_tool/st ...
分类:
编程语言 时间:
2019-02-21 23:05:12
阅读次数:
209
https://www.luogu.org/problemnew/show/P2698 警示 用数组写双端队列的话,记得le = 1, ri = 0;le<=ri表示队列非空 题意 求一个最小的区间长度,使得区间中的最大值和最小值的差>=D. 思路 一开始二分加线段树强行做,多了一个log。用ST表 ...
分类:
其他好文 时间:
2019-02-17 00:53:13
阅读次数:
190
题目链接 "" 题目 Description 给定一个非递减数列Ai,你只需要支持一个操作:求一段区间内出现最多的数字的出现次数。 Input 第一行两个整数N,Q 接下来一行有N个整数,表示这个序列。 接下来Q行每行一个操作:A B,询问A到B之间出现最多的数字。 1 时间复杂度:预处理$o(nl ...
分类:
其他好文 时间:
2019-02-13 16:53:00
阅读次数:
193
http.Get函数;http.Client类型:Transport字段,Timeout字段,http.Transport类型,操作超时,连接数限制,空闲的连接keep-alive,net.Dialer类型,Client示例;http.Server类型:ListenAndServe方法,net.Listen函数,Serve方法,Server示例,优雅的停止HTTP服务
分类:
Web程序 时间:
2019-02-10 23:32:40
阅读次数:
215
"传送门" 因为昨天写暴力写挂在UOJ上用快排~~惨遭卡常~~,所以今天准备写一个卡常题~~消遣消遣~~,然后时间又垫底了QAQ 这道题显然需要支持一个$O(N)$预处理$O(1)$查询的ST表,显然普通的ST表是做不到的,因为预处理的时间太长了 于是分块优化掉ST表的预处理 约定$L_i,R_i$ ...
分类:
其他好文 时间:
2019-02-06 21:20:45
阅读次数:
295
题意:求最近公共祖先。 解题关键:三种方法,1、st表 2、倍增法 3、tarjan 此次使用倍增模板 2、熟悉的树dp方式 ...
分类:
其他好文 时间:
2019-02-05 09:24:19
阅读次数:
179