同上,区间更新,单点查询。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define eps 1e-12
#define INF 0x7fffffff
#define maxn 100010
using namespace std;
#pragma ...
分类:
其他好文 时间:
2014-08-20 16:25:52
阅读次数:
192
操作1:修改第k条边权。
操作2:询问两点间最大边权。
树链剖分,然后线段树维护最大值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define eps 1e-12
#define INF 0x7fffffff
#define maxn 11111
...
分类:
其他好文 时间:
2014-08-20 14:08:32
阅读次数:
267
一些不需要link-cut操作的树上路径的题可以用树链剖分做,常数比lct小多了。学习了下hld(树链剖分),嗯,挺简单的。hld可以在树中的操作有很多,hld可以说只是一种概念结构,它可以套很多其它的数据结构来进行操作,比如我现在只要求路径最值和求和,那么套线段树就行了;如果我要求第k大,可以套s...
分类:
其他好文 时间:
2014-08-19 16:28:24
阅读次数:
201
poj 3237 tree inline : 1. inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。 2. 很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然...
分类:
其他好文 时间:
2014-08-17 01:05:41
阅读次数:
240
什么是树链剖分树链剖分并不是一个复杂的算法或者数据结构,它能把一棵树拆成链。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。给定一棵树,将它划分成若干条互不相交的路径,满足:从节点 u->v 最多经过 logn 条路径以及 logn 条不在路径上的边。树链剖分后,我们就可以利用其它的数据结构...
分类:
其他好文 时间:
2014-08-08 17:22:46
阅读次数:
404
Problem Description瑶瑶(tsyao)是某知名货运公司(顺丰)的老板,这个公司很大,货物运输量极大,因此公司修建了许多交通设施,掌控了一个国家的交通运输。这个国家有n座城市,公司的总部在1号城市。公司下管辖的有m条道路和n-1段火车线路。这m条道路和n-1条火车线路都可以用u来表示...
分类:
其他好文 时间:
2014-08-07 18:40:10
阅读次数:
310
此题为树链剖分的裸题。 代码如下,使用常用的轻重链剖分。/************************************************************** Problem: 1036 User: Evensgn Language: C++ Result: Accepted...
分类:
其他好文 时间:
2014-08-06 01:44:10
阅读次数:
339
“在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[...
分类:
其他好文 时间:
2014-08-05 10:55:09
阅读次数:
429
实验对象——2013 noip day1 T3本来可以直接用倍增lca解决。。但是我比较的扯淡。。所以用树链剖分来搞和普通点权不同的是,对于一颗树来说,每一个点的点权被定义为他的父亲到他的边权,所以与一般的树链剖分相比,最后统一到一条链上时,线段树维护的一边端点要加1。。其他的就没了。然后注意往上跳...
分类:
其他好文 时间:
2014-07-28 19:14:54
阅读次数:
616
375.Query on a tree 【QTREE】 有两个操作: (1)修改第i条边的边权 (2)询问a到b路径上的边权最大值。 树链剖分入门题。树链剖分+线段树维护最大值。修改/查询均为O(log^2)。 很懒,没有写。913.Query on a tree II 【QTREE2...
分类:
其他好文 时间:
2014-07-26 13:53:45
阅读次数:
569