ST表 ST表是什么? ST表就是一个用来解决区间最值的算法 它不支持动态修改 预处理时间复杂度O(nlogn),查询复杂度O(1) ST表的原理? 利用了倍增的思想,建表即把给定区间分成长度是2的幂次的小区间,然后从小区间递推到大区间。查询在后面会讲解 ST表的主要变量? f[i][j]:表示区间 ...
分类:
其他好文 时间:
2018-10-06 00:56:53
阅读次数:
512
题目链接:https://loj.ac/problem/6279 推荐博客:https://blog.csdn.net/qq_36038511/article/details/79725027 这题区间查询某个数字x的前驱(区间里比x小的最大的数),我用的是二分,自己手写二分的时候一直用的是没有排序 ...
分类:
其他好文 时间:
2018-10-02 17:33:07
阅读次数:
238
把一条路径拆成到根的四个链(两端点、lca和fa[lca]),然后给dfs序中链的端点做单点修改、区间查询它的子树和再加上它原来的权值就可以了 ...
分类:
其他好文 时间:
2018-10-01 20:38:31
阅读次数:
149
线段树是一个巨牛逼的东西(号称可以解决所有的区间问题) 所以线段树这块需要大量的见题来积累 难点所在:lazy懒标记的设立与维护 区间加与区间查询:https://www.luogu.org/problemnew/show/P3372 区间乘与区间查询:https://www.luogu.org/p ...
分类:
其他好文 时间:
2018-09-30 22:45:13
阅读次数:
148
单点修改 单点查询 用普通数组就能写出来 单点修改 区间查询 用线段树 树状数组; 区间修改 区间查询 用线段树 树状数组; 区间修改 单点查询 用线段树 树状数组; 建树 #include<bits/stdc++.h> using namespace std; const int maxn=1e5 ...
分类:
编程语言 时间:
2018-09-27 20:40:56
阅读次数:
293
看到全是线段树或者树状数组写法,就来提供一发全网唯一cdq分治三维偏序解法吧容易发现,这个题的查询就是对于每个区间l,r,查询有多少个修改区间li,ri与l,r有交集转化为数学语言,就是查询满足li<=r且ri>=l的修改个数一个二维偏序问题,但是我们发现,这是个动态插入的二维偏序问题_(:з」∠) ...
分类:
其他好文 时间:
2018-09-23 18:13:34
阅读次数:
161
【引言】在上一篇博客中探讨了树状数组的原理以及用法,我们知道:树状数组是一种擅长多次单点修改和区间查询的数据结构。但是我们很容易抛出这样一个问题:如果是区间修改,区间查询呢?我们来看这样一个问题: 给定一个长度为N的数列,有如下两种操作: (1) Q L R 查询区间L - R的元素总和; (2)C ...
分类:
其他好文 时间:
2018-09-14 13:15:23
阅读次数:
153
输入 每个测试点(输入文件)有且仅有一组测试数据。 每组测试数据的第1行为一个整数N,意义如前文所述。 每组测试数据的第2行为N个整数,分别描述每种商品的重量,其中第i个整数表示标号为i的商品的重量Pi。 每组测试数据的第3行为一个整数Q,表示小Hi进行的操作数。 每组测试数据的第N+4~N+Q+3 ...
分类:
其他好文 时间:
2018-09-11 21:10:46
阅读次数:
170
J. Ka Chang 昨天学弟写的,感觉题目挺好的,今天写了写。 和以前分块一样,但这题很难想到用分块做。 像是一次操作大量的区间单点修改,区间查询…… #include <bits/stdc++.h> using namespace std; typedef long long ll; cons ...
分类:
其他好文 时间:
2018-09-09 14:43:43
阅读次数:
154
$$SUM[x,y]=\sum_{i = 1}^{x}\sum_{j = 1}^{y}\sum_{k = 1}^{i}\sum_{l = 1}^{j}b[k][l]$$ $$=\sum_{i = 1}^{x}\sum_{j = 1}^{y}(x i + 1)(y j + 1)b[i][j]$$把有关 ...
分类:
其他好文 时间:
2018-09-04 19:02:45
阅读次数:
113