#include<stdio.h>int main(){ /* 指针是const 表示一旦得到某个变量的地址,不能在指向其他变量 int *const q=&i;//q是 const q++; //error 所指是const 表示不能通过这个指针取修改那个变量(并不能使得那个变量成为const) ...
分类:
其他好文 时间:
2019-01-30 23:19:07
阅读次数:
268
【模板】RMQ问题的ST表实现 RMQ问题:给定一个长度为N的区间,M个询问,每次询问[Li,Ri]这段区间元素的最大值/最小值。 RMQ的高级写法一般有两种,即为线段树和ST表。 本文主要讲解一下ST表的写法。(以区间最大值为例) ST表:一种利用dp思想求解区间最值的倍增算法。 定义:f(i,j ...
分类:
其他好文 时间:
2019-01-26 16:21:14
阅读次数:
192
正难则反,意想不到。 这道题是动态让你维护一个数列,已经在数列里面的数据不做改变,每次在最后加上一个数,强制在线。 既然正着做很难,考虑如果 时间倒流 ,不会改变之前的维护的任何数据结构。于是我们反着维护一个St表。 cpp include include include include inclu ...
分类:
Web程序 时间:
2019-01-23 12:31:38
阅读次数:
180
几个月之前学的 当时 可能只是明白了 但没有真正的掌握 以至与 现在的我 不记得多少了 所以 我觉得很有必要 写一写 st表 用于解决RMQ问题(区间最值问题) O(n logn) ST表是利用的是倍增的思想 拿最大值来说 我们用Max[i][j] Max[i][j] 表示,从i i 位置开始的2 ...
分类:
其他好文 时间:
2019-01-22 20:11:42
阅读次数:
168
st表--目的是解决RMQ问题(多次询问区间最值) 既然叫‘表’,那肯定要打个表,然后你问什么,我就在表里找就可以了,这样,询问时的时间复杂度就是O(n)。 妈妈再也不用担心我会超时了 设你把一个需要处理的序列存储在a [ i ] 中 s tiao表,首先要声明一个二维数组jump[i][j] or ...
分类:
其他好文 时间:
2019-01-20 15:56:59
阅读次数:
526
我们先求出该字符串的$SA$和$Ht$ 然后分类讨论 $T=0$时,每次去掉$Ht$往后扫就行 $T=1$时,我们考虑$lcp$对答案的影响 既然用到$lcp$,那就要用$ST$表维护 左端点固定时,随右端点的增大,区间$\min$单调不升 我们就可以用二分+限制右端点的方式统计某个后缀的前缀的贡献 ...
分类:
其他好文 时间:
2019-01-05 12:07:10
阅读次数:
173
JDK提供了一组主要的数据结构实现,如List、Set等常用数据结构。这些数据都继承自java.util.Collection接口,并位于java.util包内。 一、List接口 最重要的三种List接口实现:ArrayList、Vector、LinkedList。它们的类图如下: 可以看到,3种 ...
分类:
编程语言 时间:
2019-01-01 13:16:15
阅读次数:
180
后缀数组+ST表。 代填的坑。 $Code\ Below:$ ...
分类:
其他好文 时间:
2018-12-30 02:42:53
阅读次数:
259
题目描述: 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a<b.将这n*(n-1)/2个距离从大到小排序,输出前M个距离值。 算法标签:点分治,st表 思路: 处理出点分治序后,思路跟超级钢琴是相同的,对于每一 ...
分类:
其他好文 时间:
2018-12-29 11:17:17
阅读次数:
202
题意:给出一个不降序列,有多个询问,询问[l,r]中出现次数最多的数的出现次数 多组数据 对于序列 1 1 1 1 1 1 3 10 10 10 可以这么理解, , , cnt[i]记录这个数字的出现次数,lef[i]记录左端点,righ[i]记录右端点,belong[i]代表第i个数字属于哪一块 ...
分类:
其他好文 时间:
2018-12-28 17:20:48
阅读次数:
198