
lca
doggyzheng
初二蒟蒻一枚
展开
-
JZOJ1230. Road (2017.8B组)
DescriptionZ 国是一个拥有N 个岛的国家。这N 个岛用N-1 条桥来连接,且任意两个岛之间都可以互达。 某商人听说Z 国是一个很富有的国家,所以他想到Z 国闯一闯。经过他仔细的观察,他发现某样商品特别受欢迎,而且由于各岛之间沟通联系不够多,所以这样物品在每个岛的价格可能都不同。 Task:商人开始在编号为x 的岛上,然后他要走到编号为y 的岛上。在这期间,他可以在x 岛y 的路径上买原创 2017-08-10 22:39:17 · 345 阅读 · 0 评论 -
JZOJ5257. 小X的佛光(2017.8B组)
Description Input Output Sample Input3 3 1 1 2 2 3 1 2 3 1 1 3 3 1 3Sample Output1 1 3Data Constraint 想法: 暴力的LCA很多分 其实答案=(jl(x,y)+jl(y,z)-jl(x,z))/2+1 jl(x,y)=len[x]+l原创 2017-08-11 22:53:12 · 339 阅读 · 0 评论 -
Tarjan求lca
一个优秀的求2点lca的离线算法 把所有询问用前向星储存 然后当dfs到x时,如果存在一个询问(x,y)使得两个点都被访问过,那么就将y的父亲跳上去,直到不能跳为止,这个点就是它们的lca (等dfs某个点后再规定他的父亲) 否则就标记 跳父亲可用并查集的路径压缩void dfs1(int x1) { int i,y; bz[x1]=false; for (i=la原创 2017-10-25 21:10:50 · 250 阅读 · 0 评论