
倍增
largecub233
这个作者很懒,什么都没留下…
展开
-
最近公共祖先(LCA):倍增
https://www.luogu.org/problem/show?pid=3379 最近公共祖先方法有很多的,现在我们利用倍增表求lca 何为倍增表,简单的说是成倍增加表 bz[i][j]表示在第i位上向前推进2^j步 对于一颗有根树,bz[i][j]表示从第i为向根节点走2^j步,就是说高度增加2^j 倍增表功能强大,这里不展开(我不会…) 首先我们讲一下倍增 它的地推公示bz[原创 2017-01-22 18:33:07 · 410 阅读 · 0 评论 -
倍增+双向链表——洛谷P1081 开车旅行
https://daniu.luogu.org/problem/show?pid=1081#sub 提高组的第三题; 哇;首先题目很恶心; 然而发现也没什么歧义,也不难看懂; 70分的暴力做法; n*n预处理出A[i],B[i]两个数组; 标表示在i点时小A和小B开车分别会走到哪里; 这个只要暴力高就好了; 指的一提的是负最大初始值1e9不够; 要3e9; 然后我们就可以发现也已原创 2017-04-10 22:39:08 · 563 阅读 · 0 评论 -
hdu6031 Innumerable Ancestors
从现在起,我的标题不写算法了,因为写不下了; http://acm.hdu.edu.cn/showproblem.php?pid=6031 就是求解A集合和B集合里面的两点的lca的最深深度; 那么我们先预处理树上倍增的东西(就是第i点向上跳2^j步可以到达的位置); 然后直接二分答案k; 找到AB集合里的点在K深度的祖先; 如果两个集合有交集的话就可以;#include<bits/st原创 2017-07-03 13:40:17 · 338 阅读 · 0 评论