https://www.luogu.org/problemnew/show/P2698 警示 用数组写双端队列的话,记得le = 1, ri = 0;le<=ri表示队列非空 题意 求一个最小的区间长度,使得区间中的最大值和最小值的差>=D. 思路 一开始二分加线段树强行做,多了一个log。用ST表 ...
分类:
其他好文 时间:
2019-02-17 00:53:13
阅读次数:
190
ST算法 在RMQ(区间最值问题)问题中,我了解到一个叫ST的算法,实质是二进制的倍增。 ST算法能在O(nlogn)的时间预处理后,用O(1)的时间在线回答区间最值。 f[i][j]表示从i位起的2^j个数中的最大(最小)数,即[i,i+2^j-1]中的最大(最小)值,从其定义中可以看出来。 下面 ...
分类:
编程语言 时间:
2019-02-13 20:52:04
阅读次数:
185
P3521 [POI2011]ROT-Tree Rotations 本题可以通过合并数据结构解决。 权值线段树合并的时间复杂度为O(nlogn)。 证明: ? n个节点相互独立。 ? 考虑合并节点的意义:两棵线段树在当前区间内都有值且新的树在当前区间的值相对原来两棵树的值都增加了。 ? 说明对于一个 ...
分类:
其他好文 时间:
2019-02-13 20:51:12
阅读次数:
143
手写快速排序(java实现) 时间复杂度: O(nlogn) 快速排序原理: 图解:(排序过程) 注意: 上图为第一次快速排序的过程,递归过程和上图一致(没有给出) 每一次的排序结果: 现在在火车上没有给出具体每次排序结果,回学校补上. Java代码实现: ...
分类:
编程语言 时间:
2019-02-13 17:00:59
阅读次数:
227
比树状数组套主席树不知道高到哪里去了,solve(l,r,L,R)就是对于L,R的操作区间的答案都在l,r区间里,然后递归下去 复杂度O(nlognlogn),每个操作会执行logn次就是o(nlogn),带上bit就是loglogn // pragma GCC optimize(2) // pra ...
分类:
其他好文 时间:
2019-02-11 13:03:08
阅读次数:
202
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4571 [算法] 二分 + 可持久化线段树逐位确定答案的每一位即可 时间复杂度 : O(NlogN^2) [代码] ...
分类:
其他好文 时间:
2019-02-10 23:30:43
阅读次数:
221
今天学了一天数学,觉得自己都要转竞了23333 题目链接https://vjudge.net/contest/282927#problem/E 这里说一说求组合数的方法吧 其实就是求阶乘及其逆元的方法: 规定mod为模数,n为数据规模 1.mod为素数 费马小定理:nlogn 线性求逆元(n较小) ...
分类:
其他好文 时间:
2019-02-10 20:14:03
阅读次数:
172
题解: 正解做法比较简单,考虑离线之后,相邻两个节点之间的答案是有关系的 发现从父亲移到儿子后,改变的距离对于当前节点子树内和子树外的是一样的 所以线段树维护一下区间加减取max就可以了 另外的做法1: 过不了,考虑分块 对连续的叶子分成一个块,维护每个点到这个点的距离,可以多源最短路nlogn 然 ...
分类:
其他好文 时间:
2019-02-08 23:16:41
阅读次数:
174
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3110 [算法] 整体二分 + 线段树 时间复杂度 : O(NlogN ^ 2) [代码] ...
分类:
其他好文 时间:
2019-02-07 23:47:24
阅读次数:
204
二叉树时间复杂度的训练: T(n) = 2T(n/2)+o(n) nlogN 归并排序 快排:平均nlogN 最坏 n^2 树形展开法 T(N) = 2T(N/2)+O(1) o(n) 二叉树的时间复杂度= N*每个节点的处理时间 前序便利:根左右 中序 左根右 后序:左右根 DFS深度优先搜索:1 ...
分类:
其他好文 时间:
2019-02-07 09:31:06
阅读次数:
120