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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ.3052.[WC2013]糖果公园(树上莫队 带修改莫队)

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ.3052.[WC2013]糖果公园(树上莫队 带修改莫队) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接 BZOJ
當然哪都能交(都比在BZOJ交好),比如UOJ #58

//67376kb 27280ms //樹上莫隊+帶修改莫隊 模板題 #include <cmath> #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> //#define gc() getchar() #define MAXIN 400000 #define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF:*SS++) typedef long long LL; const int N=1e5+5,M=1e6+3;int n,m,Enum,H[N],nxt[N<<1],to[N<<1],val[M],W[N],col[N],las[N],tm[M]; int fa[N],dep[N],sz[N],son[N],top[N],Index,in[N],out[N],seq[N<<1]; LL Now,Ans[M]; bool vis[N]; char IN[MAXIN],*SS=IN,*TT=IN; struct Queries {int l,r,lca,bl,br,tm,id;bool operator <(const Queries &x)const{if(bl!=x.bl) return bl<x.bl;//能優化15%?if(br!=x.br) return bl&1?br<x.br:br>x.br;return (bl^br)&1?tm<x.tm:tm>x.tm; // if(bl==x.bl) return br==x.br?tm<x.tm:br<x.br; // return bl<x.bl;} }q[M]; struct Modify {int pos,val,bef; }qm[M];inline int read() {int now=0;register char c=gc();for(;!isdigit(c);c=gc());for(;isdigit(c);now=now*10+c-'0',c=gc());return now; } inline void AddEdge(int u,int v) {to[++Enum]=v, nxt[Enum]=H[u], H[u]=Enum;to[++Enum]=u, nxt[Enum]=H[v], H[v]=Enum; } inline int LCA(int u,int v) {while(top[u]!=top[v]) dep[top[u]]>dep[top[v]]?u=fa[top[u]]:v=fa[top[v]];return dep[u]>dep[v]?v:u; } void DFS1(int x) {int mx=0; sz[x]=1;for(int v,i=H[x]; i; i=nxt[i])if((v=to[i])!=fa[x]){fa[v]=x, dep[v]=dep[x]+1, DFS1(v), sz[x]+=sz[v];if(mx<sz[v]) mx=sz[v], son[x]=v;} } void DFS2(int x,int tp) {seq[in[x]=++Index]=x, top[x]=tp;if(son[x]){DFS2(son[x],tp);for(int i=H[x]; i; i=nxt[i])if(to[i]!=fa[x]&&to[i]!=son[x]) DFS2(to[i],to[i]);}seq[out[x]=++Index]=x; } void Calc(int p) {vis[p] ? Now-=1ll*W[tm[col[p]]--]*val[col[p]] : Now+=1ll*W[++tm[col[p]]]*val[col[p]];vis[p]^=1; } void Change(int p,int v) {if(vis[p]) Calc(p), col[p]=v, Calc(p);else col[p]=v; }int main() {n=read(), m=read(); int Q=read();for(int i=1; i<=m; ++i) val[i]=read();for(int i=1; i<=n; ++i) W[i]=read();for(int i=1; i<n; ++i) AddEdge(read(),read());for(int i=1; i<=n; ++i) col[i]=las[i]=read();DFS1(1), DFS2(1,1);int qcnt=0, mcnt=0, size=pow(n,2.0/3.0);for(int i=1,x,y,w; i<=Q; ++i)if(!read()) qm[++mcnt]=(Modify){x=read(),y=read(),las[x]},las[x]=y;else{x=read(), y=read(); // if(x==y) {q[++qcnt].lca=-1, Ans[qcnt]=...; continue;}w=LCA(x,y);if(in[x]>in[y]) std::swap(x,y);if(x==w) q[++qcnt]=(Queries){in[x],in[y],0,in[x]/size,in[y]/size,mcnt,qcnt};else q[++qcnt]=(Queries){out[x],in[y],w/*in[w]*/,out[x]/size,in[y]/size,mcnt,qcnt};}std::sort(q+1,q+1+qcnt);for(int i=1,t=0,l=1,r=0,ql,qr,qt; i<=qcnt; ++i){ql=q[i].l, qr=q[i].r, qt=q[i].tm;while(t<qt) ++t,Change(qm[t].pos,qm[t].val);while(t>qt) Change(qm[t].pos,qm[t].bef),--t;if(ql==qr) {Ans[q[i].id]=1ll*val[col[seq[q[i].l]]]*W[1]; continue;}while(l<ql) Calc(seq[l++]);while(l>ql) Calc(seq[--l]);while(r<qr) Calc(seq[++r]);while(r>qr) Calc(seq[r--]);if(q[i].lca) Calc(q[i].lca);//Calc(seq[in[lca]]) = Calc(lca)Ans[q[i].id]=Now;if(q[i].lca) Calc(q[i].lca);}for(int i=1; i<=qcnt; ++i) printf("%lld\n",Ans[i]);return 0; }

轉載于:https://www.cnblogs.com/SovietPower/p/9383233.html

總結

以上是生活随笔為你收集整理的BZOJ.3052.[WC2013]糖果公园(树上莫队 带修改莫队)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产特黄大片aaaa毛片 | 人人揉人人| 亚洲操操| 国产人妻互换一区二区 | 天堂网站| 女女调教被c哭捆绑喷水百合 | 国产精品偷伦视频免费看 | 欧美日韩高清在线 | 凸凹人妻人人澡人人添 | 黄色免费av | av免费播放网站 | 在线观看中文字幕视频 | 久久影| 日本69视频 | free性满足hd国产精品久 | 成人网在线 | 午夜快播| 成人xxx | 中文字幕一区二区三区在线视频 | 黄色美女视频网站 | 国产伦精品一区二区三区视频痴汉 | 亚洲乱码国产乱码精品精软件 | 天堂av2020| 你懂得在线视频 | 黄色图片小说 | 久久av资源网 | 亚洲精品久久久蜜桃 | 黄色网址在线免费播放 | 天天影视色 | 影音先锋国产精品 | 一边摸上面一边摸下面 | 成人乱人乱一区二区三区一级视频 | 国产-第1页-浮力影院 | 欧美成人免费高清视频 | 日韩欧美二区三区 | 男男肉耽高h彩漫 | 天堂av在线电影 | 国产偷自拍 | 欧美1314| 色亚洲成人 | 国产综合网站 | 超碰麻豆 | 狠狠操狠狠操狠狠操 | 国产精品久久亚洲7777 | 国产性―交一乱―色―情人 | 日本一区二区不卡在线 | 熟妇高潮一区二区三区 | 国产亚洲精品美女久久久 | 欧美大片高清 | 欧美人与禽猛交乱配 | 成人在线午夜 | 国产成人自拍在线 | 欧美精选一区二区 | 日韩欧美高清在线视频 | 成人免费高清视频 | 成年女人毛片 | 又黄又爽的视频在线观看 | 中文字幕欧美日韩 | 成人在线h| 91华人在线 | 亚洲国产v | 国产精品videossex国产高清 | 无码人妻av一区二区三区波多野 | 欧美专区 日韩专区 | 麻豆网站在线免费观看 | 免费国产在线视频 | 91精品系列 | 91资源在线视频 | 日韩久久久久久久久 | 波多在线视频 | 久久久久久久久免费 | 北条麻妃一区二区三区四区五区 | 欧美精品二区三区四区免费看视频 | 色老板精品凹凸在线视频观看 | 日韩色网站 | 亚洲精品久久久久久久久久久 | 国产精品爽爽久久 | 亚洲免费视频网站 | 特种兵之深入敌后 | av中文字幕第一页 | 国产婷婷色一区二区在线观看 | 日本a视频在线观看 | 欧美一极片 | 老湿福利影院 | 欧美日韩加勒比 | 8x8ⅹ国产精品一区二区二区 | 国内一级黄色片 | 精品无码国产污污污在线观看 | 亚洲国产一区二区三区 | 色婷婷六月天 | 女人被男人躁得好爽免费视频 | 色资源在线观看 | 欧美精品在线观看 | 亚洲啊啊啊啊啊 | 中文字幕欲求不满 | 色伊人 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 92精品| 国产小视频在线免费观看 |