随笔分类 - 数据结构
摘要:题解: 维护eix的区间和,询问时输出其虚部。 我们发现给x+v,就是给eix乘eiv,那么便能区间维护了。 注意sin和cos函数有些耗时,尽量减少其调用。 代码:
阅读全文
摘要:题意:长度为n的序列,初始都是0,维护3个操作: There are three types of operations: 1. 1 L R w, for each index i ∈ [L,R], change Ai to Ai + w. 2. 2, change A to its prefix
阅读全文
摘要:1,并查集 》并与查操作 》“边带权”并查集 以d[x]保存节点x到父节点的fa[x]的边权,这个边权一般也看作x与fa[x]关系的抽象,它也是和正常的边权一样,可以相加的,也就是说x节点与根节点的边权(关系)即其路径的边权和。 》“扩展域”并查集 对于每一对,枚举可能发生的情况,将同时发生的事件并
阅读全文
摘要:我们知道二维数组,那么二维树状数组也是一个道理。 第一维维护的是行,第二维维护的是行中的具体元素。 空间O(n2),单次操作时间O((logn)2) 另本题实现的区间修改和单点查询需要用到差分的思想: 看一维的情况,假设a数组:1,2,3,4,5 b[i]=a[i]-a[i-1]:1,1,1,1,1
阅读全文
摘要:yyb大佬的入门讲解:http://www.cnblogs.com/cjyyb/p/7499020.html Orz 我就补充一下Splay树怎么作为区间树使用: 1、Splay树作为一种二叉排序树,对其中序dfs遍历后的结果便是按key值从小到大排序的数列,那么我们将编号作为key值即可。 2、如
阅读全文
摘要:题目一:给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值 x 的元素个数。 分析 :将数列分成sqrt(n)块,每块维护一个懒惰标记、一个有序表(vector实现)即可。 操作的时候,先暴力处理左右两端不完整的块,再处理中间完整的块,注意懒惰标记的释放。 区间加法O
阅读全文
摘要:还是基本的问题,求LCA。 详情见: https://blog.csdn.net/saramanda/article/details/54963914 讲得非常好了。 fa[i][j]=fa[ fa[i][j-1] ][j-1] 用文字叙述为:i的第2^j个父亲 是i的第2^(j-1)个父亲的第2^
阅读全文
摘要:首先用倍增法解决一道求区间最大值问题,算是倍增的入门了。 其实也算是一种dp,不过大家把这个二维dp数组叫做ST表。 ST表数组:f[i][j],表示区间【i,i+2j-1】的最大值。这个区间的大小是2j个数。 ST表的初始化:f[i][0]=a[i]。(显然这是区间大小为1的时候) ST表的递推过
阅读全文
摘要:思想和可持久化trie一模一样,在历史版本的基础上构建新版本,即只增加发生改变的那条路径。 代码是用可持久化线段树实现的主席树,并通过了poj2104/hdu2665两个求区间第k大题
阅读全文
摘要:https://www.nowcoder.com/acm/contest/104/H 题目大意:给你n个数,m个询问,每个询问为给出L,R,X。 问[L,R]中的哪个数与X异或值最大,输出这个最大值。 可持久化trie的模板题,下面简说一下: 1,根据异或的特征,将数都转换成二进制,自然越是高位与X
阅读全文
摘要:一、哈希表 www.cnblogs.com/lnu161403214/p/8858236.html O(1)的查找效率,使其在查重和判等价方面用处极大 二、树与二叉树 树的实现:邻接表法(VECTOR) 二叉排序树:左子节点小于自身,右子节点大于自身,中序遍历后即得到升序数列。 哈夫曼二叉树:将信息
阅读全文
摘要:首推文章:https://blog.finaltheory.me/algorithm/Chairman-Tree.html#7865d 求解区间第k大问题 1、权值线段树 我感觉又能叫值域线段树,哈希线段树。。 即对值域建立线段树(需先离散化,不然内存消耗很大,但是这样便不好修改元素了),就像直接对
阅读全文
摘要:http://codeforces.com/contest/617/problem/E 莫队算法,O(n1.5),在数据量1e5的时候还可以使用 主要为研究[l,r]到[l,r+1]的O(1)或O(logn)转移,如能实现,那么就可以AC了 增加了a[r+1]后可以发现,需计算 根据异或和的性质转换
阅读全文
摘要:http://codeforces.com/contest/620/problem/F 这题给的时限是10S,且数据量不大,可以O(n*(n+m))大概2e9 过。。。 **O(n3)优化到O(n2)用到了dp预处理
阅读全文
摘要:链接:https://www.nowcoder.com/acm/contest/72/D 线段树需要维护的:最大有效子区间权值和,左端最大有效子区间权值和,右端最大有效子区间权值和,区间和,本区间有效性。
阅读全文

浙公网安备 33010602011771号