洛谷P3348 ZJOI2016 大森林

2021-08-16 17:37:55 字數 1935 閱讀 5722

小y家裡有乙個大森林,裡面有n棵樹,編號從1到n。一開始這些樹都只是樹苗,只有乙個節點,標號為1。這些樹都有乙個特殊的節點,我們稱之為生長節點,這些節點有生長出子節點的能力。

小y掌握了一種魔法,能讓第l棵樹到第r棵樹的生長節點長出乙個子節點。同時她還能修改第l棵樹到第r棵樹的生長節點。她告訴了你她使用魔法的記錄,你能不能管理她家的森林,並且回答她的詢問呢?

輸入格式:

第一行包含 2 個正整數 n,m,共有 n 棵樹和 m 個操作。接下來 m 行,每行包含若干非負整數表示乙個操作,操作格式為:0 l r 表示將第 l 棵樹到第 r 棵樹的生長節點下面長出乙個子節點,子節點的標號為上乙個 0 號操作葉子標號加 1(例如,第乙個 0 號操作產生的子節點標號為 2), l 到 r 之間的樹長出的節點標號都相同。保證 1<=l<=r<=n 。1 l r x 表示將第 l 棵樹到第 r 棵樹的生長節點改到標號為 x 的節點。對於 i (l<=i<=r)這棵樹,如果標號 x的點不在其中,那麼這個操作對該樹不產生影響。保證 1<=l<=r<=n , x 不超過當前所有樹中節點最大的標號。2 x u v 詢問第 x 棵樹中節點 u 到節點 v 點的距離,也就是在第 x 棵樹中從節點 u 和節點 v 的最短路上邊的數量。保證1<=x<=n,這棵樹中節點 u 和節點 v 存在。n<=10^5,m<=2*10^5

輸出格式:

輸出包括若干行,按順序對於每個小y的詢問輸出答案

輸入樣例#1:

5 5

0 1 5

1 2 4 2

0 1 4

2 1 1 3

2 2 1 3

輸出樣例#1:

1

2

離線+lct。。。

#include#include#include#define maxn 1000010

using namespace std;

int n,m,c=1,now=0,top=0;

int s[maxn],t[maxn],w[maxn],ans[maxn];

bool used[maxn];

struct link_cut_treea[maxn];

inline bool isroot(int rt)

inline void newnode(int x)

inline void pushup(int rt)

inline void pushdown(int rt)

inline void turn(int rt)

a[rt].f=y;a[x].f=rt;a[a[rt].son[k]].f=x;

a[x].son[k^1]=a[rt].son[k];a[rt].son[k]=x;

pushup(x);pushup(rt);

}void splay(int rt)

turn(rt);}}

void access(int rt)

}int access_lca(int rt)

return i;

}inline void split(int x)

inline void link(int x,int y)

inline void cut(int x)

}lct;

struct node2a[maxn];

inline int read()

while(c>='0'&&c<='9')

return date*w;

}bool cmp(const node2 &x,const node2 &y)

else

}for(int i=1;i<=m;i++)if(used[i])printf("%d\n",ans[i]);

}void init()

if(f==1)

}if(f==2)

}sort(a+1,a+top+1,cmp);

}int main()

洛谷P3349 ZJOI2016 小星星

小y是乙個心靈手巧的女孩子,她喜歡手工製作一些小飾品。她有n顆小星星,用m條彩色的細線串了起來,每條細線連著兩顆小星星。有一天她發現,她的飾品被破壞了,很多細線都被拆掉了。這個飾品只剩下了n 1條細線,但通過這些細線,這顆小星星還是被串在一起,也就是這些小星星通過這些細線形成了樹。小y找到了這個飾品...

洛谷 P2607 ZJOI2008 騎士

給出一幅有n個點,n條邊的無向未必聯通圖,每乙個點有乙個權並與另外乙個點相連,對其中一些點進行染色,且相鄰兩點的顏色不能都染,則最大的染色點權值和是多少.這題和 洛谷p1453城市環路 很像,區別就在於它不是連通圖.因而可以先用並查集和vector進行分塊,易證每一塊都是比樹多一條邊的連通圖,每一塊...

洛谷P2610 ZJOI2012 旅遊

到了難得的暑假,為了慶祝小白在數學考試中取得的優異成績,小藍決定帶小白出去旅遊 經過一番抉擇,兩人決定將t國作為他們的目的地。t國的國土可以用乙個凸n邊形來表示,n個頂點表示n個入境 出境口。t國包含n 2個城市,每個城市都是頂點均為n邊形頂點的三角形 換而言之,b 城市組成了關於t國的乙個三角剖分...