題目鏈結
這道題其實還是比較好想的,同樣是邊權問題。我們需要維護最大值,最小值,和。最坑的地方就是路徑上的所有數變相反數,其實這個就是把區間和*-1,區間最大*-1,區間最小*-1,最後pushdown的時候將取反標記^1,接下來一系列都是常規操作。而這裡還要記住,單點修改時也要下傳lazy標記。而我在跳鏈的時候寫錯了調了很久,樣例非常之水。
**,又臭又長,bzoj上都還ac不了
#includeusingview codenamespace
std;
const
int maxn=3e6+7
;struct
nodetree[maxn*6
];struct
node1edge[maxn*4
];int
head[maxn],cnt;
intx,y,v,n,m;
char opt[666
];void add(int x,int y,int
v)int
ljb[maxn],dep[maxn],son[maxn],fa[maxn],size[maxn],top[maxn],w[maxn],rev[maxn],id[maxn],time;
void dfs1(int x,int
f) }
}void dfs2(int x,int
topf)
}void pushdown(int
now)
}void pushup(int
now)
void build(int now,int l,int
r)
int mid=(l+r)>>1
; build(now
<<1
,l,mid);
build(now
<<1|1,mid+1
,r);
pushup(now);
}void update1(int now,int x,int
v) pushdown(now);
int mid=(tree[now].l+tree[now].r)>>1
;
if(x<=mid) update1(now<<1
,x,v);
else update1(now<<1|1
,x,v);
pushup(now);
}void update2(int now,int l,int
r) pushdown(now);
int mid=(tree[now].l+tree[now].r)>>1
;
if(l<=mid) update2(now<<1
,l,r);
if(r>mid) update2(now<<1|1
,l,r);
pushup(now);
}void linkup(int x,int
y)
if(dep[x]
update2(
1,id[y]+1
,id[x]);
}int query1(int now,int l,int
r)int query2(int now,int l,int
r)int query3(int now,int l,int
r)int link1(int x,int
y)
if(dep[x]
ans+=query1(1,id[y]+1
,id[x]);
return
ans;
}int link2(int x,int
y)
if(dep[x]
ans=max(ans,query2(1,id[y]+1
,id[x]));
return
ans;
}int link3(int x,int
y)
if(dep[x]
ans=min(ans,query3(1,id[y]+1
,id[x]));
return
ans;
}int
o,p,q;
intmain()
dfs1(
1,0);
dfs2(
1,1);
build(
1,1,n);
scanf("%d
",&m);
for(int i=1;i<=m;i++)
if(opt[0]=='n'
)
if(opt[0]=='s'
)
if(opt[1]=='a'
)
if(opt[1]=='i'
) }
return0;
}
P1505 國家集訓隊 旅遊
ray 樂忠於旅遊,這次他來到了t 城。t 城是乙個水上城市,一共有 n 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人心情愉悅,但有些橋狹窄泥...
題解 P1505 國家集訓隊 旅遊
這篇題解主要講 實現,思路可能需要照著 理解,請慎重閱讀 兩張掛了,重新傳了一遍。最後 寫出來3.5kb,不到150行,相對來說還是挺短的.給定一棵 n 個節點的樹,邊帶權,編號 0 sim n 1 需要支援五種操作 保證任意時刻所有邊的權值都在 1000,1000 內。前置知識 樹鏈剖分。主要講 ...
洛谷 P1505 國家集訓隊 旅遊
洛谷傳送門 ray 樂忠於旅遊,這次他來到了 t 城。t 城是乙個水上城市,一共有 nn 個景點,有些景點之間會用一座橋連線。為了方便遊客到達每個景點但又為了節約成本,t 城的任意兩個景點之間有且只有一條路徑。換句話說,t 城中只有 n 1n 1 座橋。ray 發現,有些橋上可以看到美麗的景色,讓人...