首页 > TAG信息列表 > bzoj3073
【BZOJ3073】[PA2011] Journeys(线段树优化建图模板)
点此看题面 大致题意: 有\(n\)个点,每次在区间\([a,b]\)和区间\([c,d]\)之间连一条无向边,求从起点出发到所有点的最短路。 线段树优化建图模板 一道板子题。 考虑建两棵线段树,一棵表示出边,一棵表示入边。 初始化建树时,出边线段树上每个子节点向父节点连边,入边线段树上每个父节点向子BZOJ3073 Journeys - 线段树优化建边
题目描述 Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路。N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路:(a,b),(c,d)表示,对于任意两个国家x,y,如果a<=x<=b,c<=y<=d,那么在xy之间建造一条道路。Seter保[bzoj3073] Journeys 题解(线段树优化建图)
Description Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路。N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路:(a,b),(c,d)表示,对于任意两个国家x,y,如果a<=x<=b,c<=y<=d,那么在xy之间建造一条道路。Seter保bzoj3073: [Pa2011]Journeys 线段树优化建图
bzoj3073: [Pa2011]Journeys 链接 BZOJ 思路 区间和区间连边。如何线段树优化建图。 和单点连区间类似的,我们新建一个点,区间->新点->区间。 又转化成了单点连区间的了。 代码 #include <bits/stdc++.h> using namespace std; const int N=2e6+7; int read() { int x=0,f=1;char