码迷,mamicode.com
首页 >  
搜索关键字:倍增lca    ( 136个结果
BZOJ 1787 AHOI2008 紧急集合 倍增LCA
题目大意:给定一棵树,多次询问到三个点距离之和最小的点和距离 首先易知到两个点距离之和最小的点一定在两点间的路径上 于是到三个点距离之和最小的点一定在两两之间路径的交点上 然后很容易就会知道这个交点一定是其中两个点的LCA(其实是我不会证) 此外为什么不会是三个点共同的LCA呢?因为三个点共同的LCA一定是至少一对点的LCA 证明略(其实我也不会证) 然后就是倍增LCA的问题了 我的倍增...
分类:其他好文   时间:2014-11-03 16:28:39    阅读次数:219
BZOJ 3123 SDOI2013 森林 可持久化线段树+倍增LCA+启发式合并
题目大意:给定一棵森林,每个点有权值,提供两种操作: 1.查询两点间路径上第k小的权值 2.将两个点之间连一条边 保证连接后仍是一座森林 可持久化线段树部分同Count On A Tree 只是这道题加了个连接操作 对于连接操作我们要用到启发式合并 就是把小的那棵树暴力重建 很简单的一个操作但是可以证明是均摊O(nlogn)的 大小我用了并查集 其实记录根就可以了 此外本题的多组数据是...
分类:其他好文   时间:2014-10-20 13:36:39    阅读次数:291
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
【kruscal】【最小生成树】【块状树】bzoj3732 Network
跟去年NOIP某题基本一样。最小生成树之后,就变成了询问连接两点的路径上的权值最大的边。倍增LCA、链剖什么的随便搞。块状树其实也是很简单的,只不过每个点的点权要记录成“连接其与其父节点的边的权值”,然后暴力LCA时不要用LCA的值更新答案了。 1 #include 2 #include 3 ...
分类:Web程序   时间:2014-10-04 10:29:26    阅读次数:454
BZOJ 3732 Network Kruskal+倍增LCA
题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值 NOIP2013 货车运输,几乎就是原题。。。只不过最小边最大改成了最大边最小。。。 首先看到最大值最小第一反应二分答案 但是二分答案O(kmlogn)明显做不了 这里我们考虑最小生成树 先生成一棵最小生成树,然后每次询问利用倍增LCA求出路径上的最大权值即可 本蒟蒻居然把LCA写挂了。。。 而且样例还过...
分类:Web程序   时间:2014-10-03 17:28:54    阅读次数:275
树链剖分2——边权改点权
实验对象——2013 noip day1 T3本来可以直接用倍增lca解决。。但是我比较的扯淡。。所以用树链剖分来搞和普通点权不同的是,对于一颗树来说,每一个点的点权被定义为他的父亲到他的边权,所以与一般的树链剖分相比,最后统一到一条链上时,线段树维护的一边端点要加1。。其他的就没了。然后注意往上跳...
分类:其他好文   时间:2014-07-28 19:14:54    阅读次数:616
136条   上一页 1 ... 12 13 14
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!