Gym 100959B Airports(曼哈顿距离最大生成树)

曼哈顿距离最小生成树: https://www.cnblogs.com/xzxl/p/7237246.html

这道题显然是求曼哈顿距离的最大生成树,和求最小生成树一样,用个树状数组维护最值,加边后跑kruskal,不同的是最大生成树需要枚举8个方向的最大值。

#include 
#include 
#include 
#include 
#include 
#include
using namespace std;
struct P{
    int x,y,id;
}A[100010];
struct Q{
    int a,b,c;
}C[2000010];
int T[100010],pos[100010],ha[100010],h,cnt=0;

int cmp(P a,P b){
    if(a.x==b.x) return a.yb.c;
}
int id(int x){
    return lower_bound(ha+1,ha+1+h,x)-ha;
}
void add(int x,int v,int k){
    for(;x<=1e5;x+=x&-x){
        if(T[x]

 

你可能感兴趣的:(生成树)