主席树可以存储线段树的历史状态,空间消耗很大,一般开45n即可 cpp include include include include include include define lson l, mid define rson mid+1, r define ll long long using ...
分类:
其他好文 时间:
2018-02-17 23:13:11
阅读次数:
230
"题目链接" cpp //离散化后范围1~cnt不要错 include include include // define gc() getchar() define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF: SS+ ...
分类:
其他好文 时间:
2018-02-12 11:25:09
阅读次数:
164
补题进度:8/10 A(计数+BIT) 题意: 给一个长度为n的数组a[],任意选0<=i<=j<n,将a[i]~a[j]从小到大排序,形成新的数组。问有多少个不同的新数组。 N,a[i]<=1000000 分析: 对答案有贡献的ij一定是a[i]不是i~j的最小值,a[j]不是i~j的最大值,于是 ...
分类:
其他好文 时间:
2018-02-11 00:11:32
阅读次数:
239
orz "TPLY" 巨佬,题解讲的挺好的。 这里重点梳理一下思路,做一个小小的补充吧。 写可持久化线段树,叶子节点维护每个位置的fa,利用每次只更新一个节点的特性,每次插入$logN$个节点,这一部分思路还是很轻松。关于此部分的其它问题可以参考下我的 "可持久化线段树总结" 一开始,写惯了常规并查 ...
分类:
其他好文 时间:
2018-02-06 01:11:59
阅读次数:
206
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 知识点: 可持久化线段树、DFS序 解题思路: 先根据给出的树处理出每一点的\(DFS\)序,记录每一棵子树的最小(\(Le\))、最大(\(Ri\)) \(DFS\)序。先建一棵空的 ...
分类:
其他好文 时间:
2018-02-06 01:04:56
阅读次数:
202
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2588 知识点: 可持久化线段树 解题思路: 先建一棵空的权值线段树,然后按照题目给出的树以任意一点为根的\(DFS\)序来更新这棵线段树。询问\((u,v,k)\)时,其实就是查询\(T[u ...
分类:
其他好文 时间:
2018-01-27 20:16:34
阅读次数:
154
总是用FireFox的收藏栏有些放不下了,挪到这里来。。 算法 可持久化线段树 树上差分 PPT《统计的力量》 无向图割点割边 斜率优化DP 最大权闭合子图(网络流) LCA(Tarjan) LCA大全 LCT讲解1 LCT讲解2 无旋treap(TJW) 博客 TJW 黄学长 ZKW OJ 百练O ...
分类:
其他好文 时间:
2018-01-19 23:33:27
阅读次数:
335
一、动态开点线段树 为什么要搞这样的一个鬼畜线段树? 1.区间范围过大,但是只会用到一些特定的节点,暴力开会爆内存 2.要开多棵线段树,考虑会内存爆炸,也只建需要用的节点 这个线段树的唯一区别就是需要记录下左儿子和右儿子的编号 二、主席树(可持久化线段树) First: 主席树的来源: 一个名叫主席 ...
分类:
其他好文 时间:
2017-12-31 23:35:22
阅读次数:
329
题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树。同时请注意常数优化 题目描述 如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 输入输出格式 输入格式: 第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。 第二行包含N个正整 ...
分类:
其他好文 时间:
2017-12-27 22:32:46
阅读次数:
209
20171223:更新一些关于线段树的基础用法,以及简单的zkw线段树、权值线段树,动态开点线段树,线段树的标记永久化,主席树,可持久化线段树,可持久化线段树的标记永久化(施工中) 这几天学了学各种姿势的线段树 什么是线段树呢?请先思考这样一个问题: 给定一个长度为n的数组,有m次操作,每次操作有如 ...
分类:
其他好文 时间:
2017-12-23 17:10:15
阅读次数:
93