码迷,mamicode.com
首页 >  
搜索关键字:权值线段树    ( 273个结果
【USACO 2008 Open Gold】 3.Cow Neighborhoods 平衡树、并查集
题解: 首先曼哈顿距离有些不好维护,但是它可以转化: 一个点本来的坐标是(x,y),那么可以转化成(x+y,x-y) 这样就人为构造出一种性质:1、2两点曼哈顿距离=max(|x1-x2|,|y1-y2|); 这样我们就可以排序单调搞掉一维,然后另一维只需要求前驱后继到该点的距离 满足则加并查集。 这个过程可以用权值线段树,也可以用平衡树。但是权值线段树还需要离散化,反...
分类:其他好文   时间:2015-01-02 12:21:22    阅读次数:204
BZOJ 3065 带插入区间K小值 替罪羊树套线段树
题目大意:带插入,单点修改的区间k小值在线查询。 思路:本年度做过最酸爽的题。 树套树的本质是一个外层不会动的树来套一个内层会动(或不会动)的树。两个树的时间复杂度相乘也就是差不多O(nlog^2n)左右。但是众所周知,高级数据结构经常会伴有庞大的常数,所以一般来说树套树的常数也不会小到哪去。所以在做这种题的时候先不要考虑常数的问题。。。 为什么要用替罪羊树呢?因为一般的平衡树都是会...
分类:其他好文   时间:2014-12-24 21:38:17    阅读次数:460
[BZOJ 3110] [Zjoi2013] K大数查询 【树套树】
题目链接: BZOJ - 3110题目分析这道题是一道树套树的典型题目,我们使用线段树套线段树,一层是区间线段树,一层是权值线段树。一般的思路是外层用区间线段树,内层用权值线段树,但是这样貌似会很难写。多数题解都使用了外层权值线段树,内层区间线段树,于是我就这样写了。每次插入会在 logn 棵线段树...
分类:其他好文   时间:2014-12-18 22:00:17    阅读次数:213
【枚举】【权值分块】bzoj1112 [POI2008]砖块Klo
枚举长度为m的所有段,尝试用中位数更新答案。所以需要数据结构,支持查询k大,以及大于/小于 k大值 的数的和。平衡树、权值线段树、权值分块什么的随便呢。 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef long lo...
分类:其他好文   时间:2014-12-06 15:17:20    阅读次数:186
BZOJ 3685 普通van Emde Boas树 zkw线段树
题目大意:基本是一颗平衡树的基本操作。 思路:本来是Treap的题,但是为了体现出vEB树的独特用处,所以就比较卡时间。权值线段树的常数会小一点,但是还是会T,所以就只能用zkw来水过了。 只需要在求最大值最小值里面好好考虑一下,剩下就没什么好说的了。 CODE: #include #include #include #include #define MAX 1...
分类:其他好文   时间:2014-11-21 14:29:37    阅读次数:256
【权值分块】bzoj3685 普通van Emde Boas树
权值分块,虽然渐进复杂度不忍直视,但其极小的常数使得实际运行起来比平衡树快,大多数情况和递归版权值线段树差不多,有时甚至更快。但是被zkw线段树完虐。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 100000...
分类:其他好文   时间:2014-11-14 17:41:35    阅读次数:241
【权值分块】bzoj3224 Tyvj 1728 普通平衡树
权值分块和权值线段树的思想一致,离散化之后可以代替平衡树的部分功能。部分操作的时间复杂度:插入删除全局排名全局K大前驱后继全局最值O(1)O(1)O(sqrt(n))O(sqrt(n))O(sqrt(n))O(sqrt(n))O(sqrt(n))当然,因为要离散化,所以只能离线。代码很短,很快,比我...
分类:其他好文   时间:2014-11-14 17:15:30    阅读次数:243
BZOJ 3123 SDOI 2013 森林 可持久化线段树+启发式合并
题目大意:给出一个森林,每个节点都有一个权值。有若干加边操作,问两点之间路径上的第k小权值是多少。 思路:这题和COT1比较像,但是多了连接操作。这样就只能暴力合并连个树。启发式合并会保证时间复杂度不至于太大。然后就是用可持久化线段树维护一个树的信息,按照dfs序来建树,每个节点的可持久化链的参考版本就是它父亲的版本。之后利用权值线段树可区间加减的特性,用f[x] + f[y] - f[...
分类:其他好文   时间:2014-10-21 10:26:39    阅读次数:265
BZOJ 1901 Zju 2112 Dynamic Rankings 带修改主席树
题目大意:给出一个序列,单点修改,询问区间第k大。 思路:如果不带修改,那么划分树就可以解决,但是划分树是静态的树,不支持修改。带修改的主席舒其实就是外层fenwick套内层权值线段树,但是权值线段树必须动态开节点。然后修改的时候就像树状数组修改那样,每次修改logn个权值线段树。查询的时候也一样,返回logn个权值线段树统计的和。 最后为了求区间第k大,还需要二分答案。 C...
分类:其他好文   时间:2014-10-15 18:11:31    阅读次数:271
BZOJ 1901 Dynamic Rankings 主席树
题目大意:可修改的区间第k小 这个主席树卡了我两天。。。切掉Count On A Tree 之后我就一直认为带修改的主席树是树状数组套可持久化线段树。。。其实我被误导了。。。 尼玛带修改的主席树和可持久化线段树毛关系都木有啊!!! 那就是动态的权值线段树啊啊啊啊啊啊啊!!! 好吧这里给不明白主席树的孩纸一些简介: 1.外层树状数组 2.里层线段树 3.线段树动态开节点。仅此而...
分类:其他好文   时间:2014-10-15 14:06:00    阅读次数:284
273条   上一页 1 ... 25 26 27 28 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!