SCOI 2015 情報傳遞

2021-08-16 17:52:02 字數 1330 閱讀 8174

霧。

emmmm.

看到有區間查詢小於某值的個數。

直接怒打一發 樹剖+樹套樹

經過無數次 re mle 以後,終於卡過去了

然而我為啥不用主席樹啊tat

智商下線(好像也沒有過

線段樹套個bit快一些 emmmm

luogu 4216

bzoj 4448

本**可在bzoj上過,請在洛谷上酌情加空間qwq

#include 

#include

#define il inline

const

int maxm=200000+10;

int fa[maxm],son[maxm],size[maxm],top[maxm],deep[maxm],id[maxm],tot;

int head[maxm],to[maxm*2],net[maxm*2],cnt;

int nowx[maxm],root[maxm*4],sum[maxm*103],lson[maxm*103],rson[maxm*103],siz,n,q;

int ans1,ans2;

il void add(int x,int y)

void dfs1(int x,int fax,int dep)

}void dfs2(int x,int dx)

void mofidy2(int &o,int l,int r,int ind)

int mid=(l+r)>>1;

if(ind<=mid) mofidy2(lson[o],l,mid,ind);

else mofidy2(rson[o],mid+1,r,ind);

sum[o]=sum[lson[o]]+sum[rson[o]];

}void mofidy1(int o,int l,int r,int ind,int y)

int query(int o,int l,int r,int ind)

int ask(int o,int l,int r,int ql,int qr,int t)

il void asksum(int u,int v,int t)

if(deep[u]1,1,n,id[v],id[u],t);

ans2+=id[u]-id[v]+1;

}int main()

dfs1(nr,nr,0),dfs2(nr,nr);

scanf("%d",&q);

for(int i=1,opt,x,y,z;i<=q;i++)

else

} }

return

0;}

SCOI2015 情報傳遞

樹鏈剖分把樹上問題轉換成序列上的問題qwq,然後求鏈上小於i k的節點個數。可以離線做,先把所有操作讀入,這樣就不需要中間的修改了qwq 然後就是大力主席樹了qwqwq 如下 include include include include include include define maxn 40...

bzoj 4448 Scoi2015 情報傳遞

description 奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j 能有 若t名 可能沒有 下線,除1名大頭日外其餘n 1名情報員有且僅有1名上線。奈特公司紀律森嚴,每 名情報員只能與自己的上 下線聯絡,同時,情報網路中仟意兩名情報員一定能夠通過情報...

BZOJ4448 Scoi2015 情報傳遞

bzoj4448 scoi2015 情報傳遞 奈特公司是乙個巨大的情報公司,它有著龐大的情報網路。情報網路中共有n名情報員。每名情報員口j 能有若t名 可能沒有 下線,除1名大頭日外其餘n 1名情報員有且僅有1名上線。奈特公司紀律森嚴,每名情報員只能與自己的上 下線聯絡,同時,情報網路中仟意兩名情報...