傳送門
感覺今天浪費了好多時間寫水題...
主要傳達的思想是換跟操作不一定要真的換,查詢的時候討論一下查詢點與目前根的關係即可.
1view code//achen
2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include
10 #include11
#define inf 0x7fffffff
12#define for(i,a,b) for(int i=(a);i<=(b);i++)
13#define rep(i,a,b) for(int i=(a);i>=(b);i--)
14const
int n=2e5+7
;15 typedef long
long
ll;16 typedef double
db;17
using
namespace
std;
18int
n,m,rt,rt;
19ll v[n];
2021 templatevoid read(t &x)
2728 ll sg[n<<2],lz[n<<2
];29
#define lc x<<1
30#define rc ((x<<1)|1)
31#define mid ((l+r)>>1)
32void down(int x,int l_len,int
r_len)
3839
void update(int x,int l,int r,int ql,int qr,int
v) 43 down(x,mid-l+1,r-mid);
44if(ql<=mid) update(lc,l,mid,ql,qr,v);
45if(qr>mid) update(rc,mid+1
,r,ql,qr,v);
46 sg[x]=min(sg[lc],sg[rc]);47}
4849 ll qry(int x,int l,int r,int ql,int
qr)
5758
int ecnt,fir[n],nxt[n<<1],to[n<<1
];59
void add(int u,int
v) 63
64int
fa[n],r[n],sz[n],dfn[n],tid[n],top[n],dfs_clock;
65void dfs(int x,int
fa) 73}
7475
void dfs2(int x,int
top)
84if
(mson) dfs2(mson,top);
85for(int i=fir[x];i;i=nxt[i]) if(to[i]!=fa[x]&&to[i]!=mson) 88}
8990
void schange(int x,int y,int
v) 96
if(dfn[x]>dfn[y]) swap(x,y);
97 update(1,1
,n,dfn[x],dfn[y],v);98}
99100
//#define debug
101int
main()
111 for(i,1
,n) read(v[i]);
112 read(rt); rt=rt;
113 dfs(rt,0
);114
dfs2(rt,rt);
115 for(ti,1
,m)
123else
132 ans=min(qry(1,1,n,1,dfn[y]-1),qry(1,1,n,dfn[y]+sz[y],n));
133}
134else ans=qry(1,1,n,dfn[x],dfn[x]+sz[x]-1
);135 printf("
%lld\n
",ans);
136}
137}
138return0;
139 }
//achen#include#include#include#include#include#include#include#include#include#include#define for(i,a,b) for(int i=(a);i<=(b);i++)
#define rep(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll;
typedef double db;
int vis[1000007],fa[100007],cnt[100008][11],ok[5007][5007];
using namespace std;
int find(int x)
//#define debug
int main()
for(i,1,n) puts("");
int rt=rand()%n+1;
printf("%d\n",rt);
for(i,1,m)
else if(o==1)
else
}return 0;
}
bzoj3083 遙遠的國度
題意 給定一棵樹,支援換根,路徑權值覆蓋,求子樹最小。思路 求子樹?上樹鏈剖分,但是換根怎麼辦?我們只能通過原有資訊推出換根後的答案。換根不影響路徑修改,所以只要考慮子樹最小值的維護。這裡要分3種情況討論 1 如果詢問點是當前根,直接返回整棵樹的最小值。2 如果在原樹中,當前根不在 x的子樹中,直接...
bzoj3083 遙遠的國度
time limit 10 sec memory limit 1280 mb submit 1733 solved 429 submit status discuss description 描述 zcwwzdjn在追殺十分sb的zhx,而zhx逃入了乙個遙遠的國度。當zcwwzdjn準備進入遙遠的...
bzoj3083 遙遠的國度
time limit 10 sec memory limit 1280 mb submit 1960 solved 484 submit status discuss 描述zcwwzdjn在追殺十分sb的zhx,而zhx逃入了乙個遙遠的國度。當zcwwzdjn準備進入遙遠的國度繼續追殺時,守護神ra...