码迷,mamicode.com
首页 >  
搜索关键字:bzoj2588    ( 25个结果
【BZOJ2588】【Spoj 10628.】 Count on a tree 可持久化线段树+lca
题解: 对于每个树上节点存一个版本的可持久化线段树,为它到根节点上所有权值的权值线段树(需要离散化)。 然后对于每次询问,这条链(a,b)的线段树就是:线段树a+线段树b?线段树lca?线段树falca线段树_a + 线段树_b - 线段树_{lca} - 线段树_{fa_{lca}} 然后线段树上求第k小啦。 代码: #include #include #include...
分类:其他好文   时间:2015-04-15 09:44:07    阅读次数:176
【主席树】bzoj2588 Spoj 10628. Count on a tree
每个点的主席树的root是从其父转移来的。询问的时候用U+V-LCA-FA(LCA)即可。#include#includeusing namespace std;#define N 100001int v[N>1); T[cur].lc=++e; BuildTree(T[cur].lc,l,m); ...
分类:其他好文   时间:2015-04-13 20:40:23    阅读次数:139
BZOJ 2588 Count on a tree 主席树+倍增LCA
题目大意:给定一棵树,每个节点有权值,询问两个节点路径上的权值第k小 这题很卡时间。。。 树链剖分+二分+树套树的O(nlog^4n)做法可以去死了 没有修改操作,树链剖分+二分+划分树O(nlog^3n),还是死了 我怒了,裸学了一发可持久化线段树(不看任何代码OTZ,我是怎么做到的0.0),二分+主席树,O(nlog^2n),居然还是死了! 最后发现我SB了,完全没有必要二分,直...
分类:其他好文   时间:2014-10-13 20:02:37    阅读次数:373
BZOJ2588: Spoj 10628. Count on a tree
2588: Spoj 10628. Count on a treeTime Limit:12 SecMemory Limit:128 MBSubmit:1795Solved:371[Submit][Status]Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k)...
分类:其他好文   时间:2014-10-04 21:24:17    阅读次数:274
BZOJ2588 Spoj 10628. Count on a tree
首先,这是一道坑题,我拍了几百组数据都是对的,交上去就WA,原因下面会讲。。。一开始我觉得要链剖,后来ZYH说。。。只要dfs序就可以解题。然后,解法嘛。。。就是每个点到根的链都建成一棵线段树,然后发现会MLE,于是就可持久化了所有线段树。在查询的时候呢,先找出两个点a, b的LCA,不妨叫c,然后...
分类:其他好文   时间:2014-10-04 17:38:16    阅读次数:178
25条   上一页 1 2 3
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!