bzoj2588 Spoj 10628. Count on a tree 题意: n点树,m个询问求点u到点v路径上第k小的点权。强制在线。n,m≤100000 题解: 用主席树维护某节点到根节点的权值数量sz,建树过程可以由父亲节点递推。询问就用倍增求出lca,然后路径上的sz值就为sz[u]-s ...
分类:
其他好文 时间:
2016-07-24 17:39:38
阅读次数:
176
主席树。 求a到b的路径可以看作a到根和b到根的路径的一部分。 对于每个节点,需要查询它到根路径各个数出现的次数。 如果对于每个节点都建一棵权值线段树,肯定会爆掉。 这时用主席树,该节点的权值线段树由父亲的权值线段树转移而来。 建树之前,要对整个数进行重标号,建树的时候才能保证父亲的树已经被建了。 ... ...
分类:
其他好文 时间:
2016-07-11 20:51:51
阅读次数:
236
描述 http://www.spoj.com/problems/COT/ 给出一棵n个节点的树,树上每一个节点有权值.m次询问,求书上u,v路径中第k小的权值. 分析 POJ_2104_Kth(主席树) 现在是把原来的问题搬到树上去了.首先我们肯定要求lca,新学了Tarjan的离线算法. 每一个点 ...
分类:
其他好文 时间:
2016-05-20 13:12:46
阅读次数:
290
真正的失败不是你没有做成事,而是你甘心于失败。...
分类:
其他好文 时间:
2016-05-07 10:03:05
阅读次数:
199
2588: Spoj 10628. Count on a tree Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 ...
分类:
其他好文 时间:
2016-04-30 18:07:08
阅读次数:
236
传送门 LCA+主席树(可持久化线段树) 取一个点为根,每棵线段树记录树上节点到根的链上的权在数轴上的分布(当然要离散化), 则对于两个点u,v的路径上的数在数轴上的分布可以表示为tree[u]+tree[v]-tree[lca(u,v)]-tree[fa(u,v)](可以随便画图YY一下), 然后 ...
分类:
其他好文 时间:
2016-04-28 09:27:54
阅读次数:
166
2588: Spoj 10628. Count on a tree Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 ...
分类:
其他好文 时间:
2016-04-13 23:38:56
阅读次数:
237
2588: Spoj 10628. Count on a tree Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 ...
分类:
其他好文 时间:
2016-04-03 00:15:59
阅读次数:
193