线段树优化建图
我们知道线段树是维护区间问题的神器
在图论中如果我们碰到区间建边问题:
①将某点与[L,R]区间点连权值w的有向边
常规做法是 for(int i=l;i<=r;i++)add(x,i,w); 情况时间复杂度为O(n)
但是如果我们用到线段树 可以将复杂度优化为o(logn);
我们建立一颗out树来维护[L,R]区间的点
线段树上每个节点表示一个虚拟点 连接他所维护的[L,R] 距离为0有向边
要注意的是idx的值初始化应该>n 因为线段树上的叶子节点是编号为1-n
在我们建图时head[N
原创
2020-10-13 22:06:16 ·
1182 阅读 ·
0 评论