随笔分类 -  图论——lca

摘要:F. Auction of Services http://codeforces.com/gym/298615/problem/F 构建最小生成树,然后在树上建立lca,对于每次查询,相当于输出任意两点之间的最大值,用lca来处理树上任意两点的最大值。g[i][j]表示i号点向上跳2^j次的链上的最 阅读全文
posted @ 2020-10-13 14:15 WeiAR 阅读(87) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1304/E用lca求树上距离只有3种情况a->ba->x+x->y+y->ba->y+y->x+x->b因为距离过长就可以来回走,所以k-len得是偶数 #include <iostream> #include < 阅读全文
posted @ 2020-03-20 14:27 WeiAR 阅读(367) 评论(0) 推荐(0) 编辑
摘要:poj3417lca+差分每加入一条新边就会形成一个环,这个环上除了新边都会被覆盖一次,断掉覆盖一次的边再断了覆盖它的新边就能把树分成两部分。对于被覆盖数大于1次的边,就得至少断两条新边,对答案就没有贡献了。对于没有被覆盖的,对答案贡献为新边的数量,覆盖为1的,贡献为1,再否则为0。d[x]表示节点 阅读全文
posted @ 2019-07-24 12:09 WeiAR 阅读(291) 评论(1) 推荐(0) 编辑
摘要:P1967 货车运输最大生成树+lca+并查集 阅读全文
posted @ 2017-11-09 08:20 WeiAR 阅读(213) 评论(0) 推荐(0) 编辑
摘要:P3258 [JLOI2014]松鼠的新家倍增lca+树上差分,从叶子节点向根节点求前缀和,dfs求子树和即可,最后,把每次的起点和终点都。 阅读全文
posted @ 2017-11-08 11:33 WeiAR 阅读(139) 评论(0) 推荐(0) 编辑
摘要:T3.寻找克尔苏加德(search.cpp/pas/in/out) 四人小分队终于来到了纳克萨玛斯最后一层,在这里,克尔苏加德的的王座上,留着……一张纸条。正当铜须要拿起纸条,突然,一道淡蓝色光芒飘入了他的眼中…… 我是克尔苏加德,人类,来到我的城堡就要接受我的审判,来找我吧,卑微的蝼蚁!铜须如是说 阅读全文
posted @ 2017-08-15 11:01 WeiAR 阅读(201) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> #include <cstring> #define inf 2147483647 #define N 100 阅读全文
posted @ 2017-08-14 22:33 WeiAR 阅读(156) 评论(0) 推荐(0) 编辑