帶修改的樹上莫隊 WC糖果公園

2021-08-05 20:30:12 字數 1331 閱讀 7505

今天跟著tyb來了一發帶修改的樹上莫隊

自然這是裸題啦

然後呢,由於是第一次打,於是為了學習,不要臉地抄**。。

我是看這裡的啦

建議有帶修改莫隊基礎和樹分塊基礎的同學直接膜**就好了。。

不是特別難的啦,可以看懂。。

然後複雜度那裡其實我看的不是特別懂。。

高仿code(有少量注釋):

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

int n=100005;

int n,m,q;

int block;

int val[n],w[n];

int c[n],pre[n];

struct aska[n];

struct upb[n];

int cnt2=0,cnt1=0;

struct qqs[n*2];int num,last[n];

void init (int x,int y)

int dep[n],cc=0;

int f[n][20];

int sta[n],top=0;

int belong[n],ecnt=0;

bool vis[n];//是否在莫隊裡面

int dfs (int x,int fa)

}sta[++top]=x;

return remain+1;

}bool cmp(ask q,ask qq)

else

}void lalal (int x,int c)//將x修改為c

}void change (int x,int y)//加上這個路徑 但是lca還不在

}ll a[n];

int lca (int x,int y)

void solve ()

}void ins ()

for (int u=1;u<=n;u++)

ecnt=0;dep[1]=1;dfs(1,0);

for (int u=1;u<=17;u++)

for (int i=1;i<=n;i++)

f[i][u]=f[f[i][u-1]][u-1];

for (int u=1;u<=q;u++)

else

}}int main()

BZOJ 3052 糖果公園 樹上帶修改莫隊

time limit 200 sec memory limit 512 mb submit 1264 solved 637 submit status discuss sample input 84131 2784 submit status discuss home back 這道題我很快的寫完了...

P4074 WC2013 糖果公園 樹上帶修莫隊

戳這裡檢視題面 julao口中的樹上帶修莫隊的板子題 這個題拆開來說就是 帶修莫隊 樹上莫隊 帶修莫隊是莫隊的最基本的一種,就是將詢問排序後,按時間戳將修改操作增加或減少 樹上莫隊有兩種寫法,分別是按照大小分塊和按照尤拉序分塊,這裡介紹用尤拉序分塊的寫法,通過尤拉序我們可以將樹上問題轉化為序列問題,...

P4074 WC2013 糖果公園 樹上帶修莫隊

戳這裡檢視題面 julao口中的樹上帶修莫隊的板子題 這個題拆開來說就是 帶修莫隊 樹上莫隊 帶修莫隊是莫隊的最基本的一種,就是將詢問排序後,按時間戳將修改操作增加或減少 樹上莫隊有兩種寫法,分別是按照大小分塊和按照尤拉序分塊,這裡介紹用尤拉序分塊的寫法,通過尤拉序我們可以將樹上問題轉化為序列問題,...