SNOI省選模擬賽 dat1t3 tree

2021-08-14 16:12:37 字數 1103 閱讀 5805

題意:給定一棵n個點、n-1條邊的樹,樹上的第i條邊有權值w[i] 。

q次詢問,每次詢問為下列兩種操作之一:

1:增加乙個點對 x,y。    

2:查詢第x條邊權值為y時所有點對之間的距離的最大值。

題解:還沒完全想清楚,先占個坑,最近來補。

下附暫時沒有想清的ac的**...

#include#include#include#include#define lson (now<<1)

#define rson ((now<<1)|1)

#define mid ((nl+nr)>>1)

#define maxn 100005

using namespace std;

int root,mod,q;

int n,cnt,tot=1,top;

int head[maxn],nex[maxn<<1],val[maxn<<1],to[maxn<<1];

void add(int x,int y,int z)

//以下為線段樹

pairdat[maxn<<2];

void update(int ql,int qr,int add,int nl,int nr,int now,int op)

if(ql<=mid) update(ql,qr,add,nl,mid,lson,op);

if(midquery(int pos,int nl,int nr,int now)

//以下為樹鏈剖分

int dfn[maxn],dis[maxn],fa[maxn][30],bel[maxn<<1];

int siz[maxn],anc[maxn],dep[maxn],in[maxn],out[maxn];

void dfs1(int now,int pa)

}void dfs2(int now,int pa)

int lca(int p,int q)

void add(int x,int y)

else }

void query2(int x,int y)

int main()

{ scanf("%d%d",&n,&q);

for(int i=1;i

snoi省選模擬賽 day3t1 路徑規劃

kac在數軸上有n片西瓜地。第 i片的座標是x i 注意 x並沒有排序 任意兩片西瓜地座標不同。有一天他要給這n片西瓜地澆水。初始他在x 1 的位置。他必須按1.n 的順序澆水,也就是說,必須先去x 1 再去x 2 最後到x n 他可以沿著座標軸正方向或者負方向走 給西瓜地澆水不需要花費時間。每走1...

省選模擬賽Day4T3迂迴

problem problem problem problem problem problem problem problem 3 迂迴 tour tour tour tour tour tour 題目描述 題目描述 給定一有向圖,邊長均為 1,求 長度 小於 k的環個數 mod m 保證 有向圖中...

省選模擬賽03 16 T3 超級樹

目錄一棵 k 超級樹 k supertree 可按如下方法得到 取一棵深度為 k 的滿二叉樹,對每個節點向它的所有祖先連邊 如果這條邊不存在的話 例如,下面是乙個 4 超級樹 請統計一棵 k 超級樹 中有多少條不同的簡單有向路徑,對 mod 取模。input 一行兩整數 k,mod。output 一...