/* 返回顶部 */

随笔分类 -  算法——————倍增

摘要:传送门 我居然把swap写成了switch 如果路径相交,那么一定有LCA(a,b)在路径c,d上,或LCA(c,d)在路径a,b上 如果x在路径a,b上,需要满足条件: dpth[x] >= dpth[LCA(a,b)] LCA(a,x)=x 或 LCA(b,x)=x 就这样,求出LCA后分别判断 阅读全文
posted @ 2019-07-21 14:45 Mogeko 阅读(150) 评论(0) 推荐(0)
摘要:Luogu P3295 mrclr两周前做的题让蒟蒻的我现在做? 第一眼组合计数,如果把数字相同的数位看作一个整体,除了第一位不能为零,剩下的每一位都有$0$~$9$十种。 设不同的位数为$x$,那么答案即为$9*10$x-1 给出两段相同的区间,可以把它们看作单独的一位一位对应,用并查集把它们合并 阅读全文
posted @ 2019-04-12 23:20 Mogeko 阅读(180) 评论(0) 推荐(0)
摘要:Gate 倍增模板,在一个严格小根堆中,给定$x,y$,求$x$的祖先中$≥y$的最高点。 注意清零 #include<cstdio> #include<iostream> #include<cstring> #define MogeKo qwq using namespace std; const 阅读全文
posted @ 2019-03-27 17:48 Mogeko 阅读(130) 评论(2) 推荐(0)
摘要:qwq 这题是知道了正解做法才写的.. 求每两点间最小权值最大的路径,本来我以为要每个点都跑一遍dij(?),后来意识到生成树好像是用来找这个的( ´▽`) 然后我问dtxdalao对不对,他说“我记得这道题好像要用倍增”(我:???剧透会被关进小黑屋的) 其实就是最大生成树是随便建的,然后对于每两 阅读全文
posted @ 2019-02-07 09:00 Mogeko 阅读(140) 评论(0) 推荐(0)
摘要:qwq 预处理出从$x$节点向上跳2i个节点的序号$p[x][i]$及节点深度$dpth[x]$, 寻找$lca$时,从$Max$(可能的最大深度)到0枚举$i$, 首先把较深的一个节点向上跳至深度相同, 然后两个点同步动作,若$p[x][i]≠p[y][i]$则跳。 最终返回他们的父亲$p[x][ 阅读全文
posted @ 2019-01-21 23:53 Mogeko 阅读(174) 评论(0) 推荐(0)