日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ4129: Haruna’s Breakfast

發(fā)布時(shí)間:2025/7/25 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ4129: Haruna’s Breakfast 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.lydsy.com/JudgeOnline/problem.php?id=4129

  樹(shù)上帶修改求mex,樹(shù)上帶修改莫隊(duì)即可。

#include<bits/stdc++.h> using namespace std; const int maxn=50015,maxe=100015,maxm=50015,maxb=255,maxk=20; int n,m,ask,tim,a[maxn]; struct Tmodify{int x,v;}M[maxm]; struct Tquery{int idx,u,v,t;}Q[maxm]; int tot,now[maxn],pre[maxe],son[maxe]; void connect(int u,int v){pre[++tot]=now[u];now[u]=tot;son[tot]=v;} void init(){scanf("%d%d",&n,&m);for (int i=1;i<=n;++i) scanf("%d",&a[i]);for (int u,v,i=1;i<=n-1;++i){scanf("%d%d",&u,&v);connect(u,v);connect(v,u);}for (int t,u,v,i=1;i<=m;++i){scanf("%d%d%d",&t,&u,&v);switch (t){case 0:M[++tim]=(Tmodify){u,v};break;case 1:Q[++ask]=(Tquery){ask,u,v,tim};break;}} } int dep[maxn],anc[maxn][maxk]; void get_anc(int u,int f){anc[u][0]=f;dep[u]=dep[f]+1;for (int k=1;k<maxk;++k) anc[u][k]=anc[anc[u][k-1]][k-1];for (int p=now[u];p;p=pre[p]) if (son[p]!=f) get_anc(son[p],u); } int siz1,top,cnt,stk[maxn],bel[maxn]; void get_block(int u,int f){for (int bot=top,p=now[u];p;p=pre[p]){if (son[p]==f) continue;get_block(son[p],u);if (top-bot>=siz1) for (++cnt;top!=bot;bel[stk[top--]]=cnt);}stk[++top]=u; } bool cmp(Tquery a,Tquery b){if (bel[a.u]!=bel[b.u]) return bel[a.u]<bel[b.u];else if (bel[a.v]!=bel[b.v]) return bel[a.v]<bel[b.v];else return a.t<b.t; } void prepare(){siz1=pow(n,0.67);get_anc(1,0);get_block(1,0);while (top) bel[stk[top--]]=cnt;for (int i=1;i<=ask;++i) if (bel[Q[i].u]>bel[Q[i].v]) swap(Q[i].u,Q[i].v);sort(Q+1,Q+ask+1,cmp); } bool exist[maxn]; int num,siz2,ans[maxm],bl[maxb],br[maxb],have[maxb],idx[maxn],sum[maxn]; void xor_node(int u){if (exist[u]){if (a[u]<=n) if (!--sum[a[u]]) --have[idx[a[u]]];}else if (a[u]<=n) if (!sum[a[u]]++) ++have[idx[a[u]]];exist[u]^=1; } void xor_path(int u,int v){if (dep[u]<dep[v]) swap(u,v);while (dep[u]!=dep[v]){xor_node(u);u=anc[u][0];}while (u!=v){xor_node(u);xor_node(v);u=anc[u][0];v=anc[v][0];} } void modify(int t){int x=M[t].x,v=M[t].v;if (exist[x]){if (a[x]<=n) if (!--sum[a[x]]) --have[idx[a[x]]];if (v<=n) if (!sum[v]++) ++have[idx[v]];}swap(M[t].v,a[x]); } void move_time(int ever,int now){for (int i=ever+1;i<=now;++i) modify(i);for (int i=ever;i>=now+1;--i) modify(i); } int lca(int u,int v){if (dep[u]<dep[v]) swap(u,v);for (int h=dep[u]-dep[v],i=0;h;h>>=1,++i) if (h&1) u=anc[u][i];for (int k=maxk-1;k>=0;--k) if (anc[u][k]!=anc[v][k]){u=anc[u][k];v=anc[v][k];}return u==v?u:anc[u][0]; } int get_ans(){int pos,res;for (pos=0;have[pos]==siz2;++pos);for (res=bl[pos];sum[res];++res);return res; } void solve(int k){xor_path(Q[k-1].u,Q[k].u);xor_path(Q[k-1].v,Q[k].v);move_time(Q[k-1].t,Q[k].t);int x=lca(Q[k].u,Q[k].v);xor_node(x);ans[Q[k].idx]=get_ans();xor_node(x); } void work(){prepare();siz2=sqrt(n);for (int j,i=0;i<=n;i=j,++num){for (j=i;j-i+1<=siz2&&j<=n;++j) idx[j]=num;bl[num]=i;br[num]=j-1;}for (int i=1;i<=ask;++i) solve(i);for (int i=1;i<=ask;++i) printf("%d\n",ans[i]); } int main(){init();work();return 0; } my code

?

轉(zhuǎn)載于:https://www.cnblogs.com/iamCYY/p/4720029.html

總結(jié)

以上是生活随笔為你收集整理的BZOJ4129: Haruna’s Breakfast的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻少妇精品中文字幕av蜜桃 | 九九热在线播放 | 久久高清国产 | 潘金莲一级淫片a.aaaaa播放 | 白浆四溢 | 一区二区三区欧美视频 | 日韩午夜av | 午夜两性视频 | 69色| 免费的黄色一级片 | 少妇一级片 | 97碰碰碰| 美女日日日| 超碰97干 | 亚洲国产精品视频一区二区 | 欧美极品一区二区 | 国产精品探花一区二区在线观看 | 精品国产鲁一鲁一区二区三区 | 久久精品黄色 | 在线观看国产精品入口男同 | 国产一区二区女内射 | 久久久久久久久久久电影 | 78日本xxxxxxxxx59 亚洲图片小说视频 | 亚洲av无码一区二区三区在线观看 | 精品人伦一区二区三电影 | 中文字幕有码视频 | 日韩成人在线网站 | 精品人妻一区二区三区日产 | 久久久久久免费精品 | 极品少妇在线 | 免费看国产片在线观看 | 久久精品10| 538国产精品视频一区二区 | 娇妻第一次尝试交换的后果 | 极品国产91在线网站 | 久久久久久久一 | 精品在线不卡 | 在线国产91 | 偷拍夫妻性生活 | 毛片精品 | 亚洲免费观看 | 精品少妇久久久久久888优播 | 精品国产乱码久久久久久蜜臀网站 | 午夜av免费在线观看 | 天天干天天色天天射 | 一级片免费网址 | 成人自拍在线 | 特级新鲜大片片 | 国产又爽又黄免费视频 | 中国精品久久 | jizz免费视频| 亚洲精品av中文字幕在线在线 | 亚洲黄a | 日韩夜夜| 色综合天天网 | 亚洲图片欧美色图 | 91超碰免费在线 | 欧美人妻精品一区二区三区 | 性激烈视频在线观看 | 两根大肉大捧一进一出好爽视频 | 国产一区二区小视频 | 一级日韩一级欧美 | 99re6热在线精品视频播放 | 日本69式三人交 | 两性av| www狠狠干 | 北条麻妃一区二区三区四区五区 | 美景之屋电影免费高清完整韩剧 | 永久免费看mv网站入口78 | 亚洲毛片在线观看 | 国产成人精品在线视频 | 在线观看的黄网 | 丁香激情五月少妇 | 女同中文字幕 | 美女日批视频在线观看 | jizz日本在线播放 | se欧美| 国产专区第一页 | 国产精品视频播放 | 国产伦精品一区二区三区视频痴汉 | 国产做爰免费视频观看 | www.亚洲精品| 好吊操妞 | 日本激情在线 | 亚洲天堂最新 | 综合久草 | 国产在线观看黄色 | 黄网视频在线观看 | 色综合一区二区 | 一个色综合导航 | 黄色av网站在线播放 | 国产日本精品 | 久久人人人 | 五月天激情国产综合婷婷婷 | 中文字幕在线视频一区 | 亚洲夜夜爱 | 九一福利视频 | 天天射视频 | 手机在线观看av |