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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2021牛客多校7 - xay loves trees(dfs序+主席树-标记永久化)

發(fā)布時(shí)間:2024/4/11 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021牛客多校7 - xay loves trees(dfs序+主席树-标记永久化) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:點(diǎn)擊查看

題目大意:給出兩棵以點(diǎn) 111 為根節(jié)點(diǎn)的有根樹,現(xiàn)在要求滿足條件的最大集合:

  • 在第一棵樹中,集合內(nèi)的任意兩個(gè)點(diǎn)都必須滿足祖先關(guān)系,即 uuuvvv 的祖先或 vvvuuu 的祖先,且集合內(nèi)的點(diǎn)在第一棵樹上是聯(lián)通的
  • 在第二棵樹上,任意兩個(gè)點(diǎn)不能滿足祖先關(guān)系
  • 題目分析:CodeForces - 1529E 的加強(qiáng)版,題面僅僅增加了在第一棵樹中的點(diǎn)需要保證聯(lián)通這一個(gè)條件

    寫在前面,明明都發(fā)題解了,還瘋狂交滑動(dòng)窗口的 ** ,浪費(fèi)評(píng)測(cè)機(jī)資源了屬于是

    官方題解:

    需要注意的是,不要忘記維護(hù) last_deplast\_deplast_dep 表示到達(dá)點(diǎn) uuu 為止的最深的可以滿足條件的深度。因?yàn)閮H憑 [L[u],R[u]][L[u],R[u]][L[u],R[u]] 內(nèi)的最大值不能正確實(shí)現(xiàn)題解中的 huh_uhu?(對(duì)應(yīng)題解第二段第一句)

    當(dāng)然本題用線段樹也是可以寫的,只不過用主席樹可以避免線段樹的刪除,也就是避免了回溯操作。所以對(duì)應(yīng)主席樹就是區(qū)間更新和區(qū)間查詢了,不難想到用標(biāo)記永久化來(lái)降低代碼復(fù)雜度

    代碼:

    // Problem: xay loves trees // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/11258/F // Memory Limit: 1048576 MB // Time Limit: 4000 ms // // Powered by CP Editor (https://cpeditor.org)// #pragma GCC optimize(2) // #pragma GCC optimize("Ofast","inline","-ffast-math") // #pragma GCC target("avx,sse2,sse3,sse4,mmx") #include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> #include<cassert> #include<bitset> #define lowbit(x) x&-x using namespace std; typedef long long LL; typedef unsigned long long ull; template<typename T> inline void read(T &x) {T f=1;x=0;char ch=getchar();while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(0!=isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();x*=f; } template<typename T> inline void write(T x) {if(x<0){x=~(x-1);putchar('-');}if(x>9)write(x/10);putchar(x%10+'0'); } const int inf=0x3f3f3f3f; const int N=3e5+100; struct Node {int l,r,mmax,lazy; }tree[N*4*20]; vector<int>a[N],b[N]; int dfn,L[N],R[N],cnt,root[N],n,ans; int newnode(int k) {cnt++;tree[cnt]=tree[k];return cnt; } void update(int &k,int l,int r,int L,int R,int deep) {//[l,r]:目標(biāo)區(qū)間 [L,R]:當(dāng)前區(qū)間k=newnode(k);tree[k].mmax=deep;if(L>=l&&R<=r) {tree[k].lazy=deep;return;}int mid=(L+R)>>1;if(r<=mid) {update(tree[k].l,l,r,L,mid,deep);} else if(l>mid) {update(tree[k].r,l,r,mid+1,R,deep);} else {update(tree[k].l,l,mid,L,mid,deep);update(tree[k].r,mid+1,r,mid+1,R,deep);} } int query(int k,int l,int r,int L,int R,int max_dep) {//[l,r]:目標(biāo)區(qū)間 [L,R]:當(dāng)前區(qū)間if(R<l||L>r||!k) {return max_dep;}max_dep=max(max_dep,tree[k].lazy);if(L>=l&&R<=r) {return max(tree[k].mmax,max_dep);}int mid=(L+R)>>1;return max(query(tree[k].l,l,r,L,mid,max_dep),query(tree[k].r,l,r,mid+1,R,max_dep)); } void dfs(int u,int fa,int dep,int last_dep) {int cur_dep=max(last_dep,query(root[fa],L[u],R[u],1,n,0));ans=max(ans,dep-cur_dep);root[u]=root[fa];update(root[u],L[u],R[u],1,n,dep);for(auto v:a[u]) {if(v==fa) {continue;}dfs(v,u,dep+1,cur_dep);} } void dfs_dfn(int u,int fa) {L[u]=++dfn;for(auto v:b[u]) {if(v==fa) {continue;}dfs_dfn(v,u);}R[u]=dfn; } int main() { #ifndef ONLINE_JUDGE // freopen("data.in.txt","r",stdin); // freopen("data.out.txt","w",stdout); #endif // ios::sync_with_stdio(false);int w;cin>>w;while(w--) {dfn=ans=cnt=0;read(n);for(int i=1;i<=n;i++) {a[i].clear(),b[i].clear();}for(int i=1;i<n;i++) {int u,v;read(u),read(v);a[u].push_back(v);a[v].push_back(u);}for(int i=1;i<n;i++) {int u,v;read(u),read(v);b[u].push_back(v);b[v].push_back(u);}dfs_dfn(1,0);dfs(1,0,1,0);cout<<ans<<endl;}return 0; }

    總結(jié)

    以上是生活随笔為你收集整理的2021牛客多校7 - xay loves trees(dfs序+主席树-标记永久化)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 又色又爽又黄18网站 | 精品伊人久久 | 成人夜视频 | 成人毛片在线免费观看 | av官网在线 | 波多野42部无码喷潮 | 精精国产xxxx视频在线 | 蜜臀视频在线观看 | av免费入口 | 综合网五月 | 少妇高潮一区二区三区99欧美 | 久久久久久黄 | 亚洲精品视频播放 | 蜜臀精品| 久久er99热精品一区二区 | 四房婷婷 | 成人av一区二区在线观看 | 青青草午夜 | 浮生影视在线观看免费 | 疯狂做爰的爽文多肉小说王爷 | 亚洲精品久久久久久久蜜桃 | 一级片成人 | 国产三级精品在线观看 | 艹久久| 极品少妇视频 | av作品在线观看 | 亚洲欧美视频一区 | 国产美女视频一区二区 | 日日网| 炕上如狼似虎的呻吟声 | 亚洲无av在线中文字幕 | 亚洲精品一区久久久久久 | 99爱视频| 丝袜熟女一区二区 | 亚洲AV无码精品色毛片浪潮 | aaaa黄色片| 91精选国产 | 久久精品8 | 午夜性片 | 中国精品久久 | 妺妺窝人体色www在线下载 | 97免费在线观看视频 | 韩日精品在线 | 亚洲最大看欧美片网站 | 久久亚洲国产成人精品性色 | 色妻影院| 波多野结衣在线免费视频 | 国产免费资源 | 男人爱看的网站 | 狠狠干五月天 | 中文字幕三级电影 | 国产精品成人免费一区二区视频 | 波多野在线 | 欧美性精品 | 免费日皮视频 | 日韩成人综合 | 激情综合网五月婷婷 | 狠狠操你 | 2021国产精品 | 免费黄色av | 成人在线观看你懂的 | 午夜影视体验区 | 国产永久免费观看 | 午夜日韩 | 樱花视频在线免费观看 | 日韩一区二区欧美 | 免费观看一区二区三区 | 久久精品丝袜 | 欧美人体一区二区三区 | 可以在线观看的黄色 | 91中文视频 | 5个黑人躁我一个视频 | 欧美精品日韩在线观看 | 水蜜桃色314在线观看 | 亚洲一区二区三区加勒比 | 国产精品网站视频 | 国产黄色a | 伊人99在线 | www.久久久久.com| 日本天堂在线播放 | 性——交——性——乱免费的 | 在线资源av | 中文字幕在线有码 | 欧美性生交xxxxx久久久 | 欧美成人免费观看 | 17c精品麻豆一区二区免费 | 高清国产午夜精品久久久久久 | 欧美性做爰毛片 | 亚洲日本久久久 | 精品人妻一区二区三 | 交做爰xxxⅹ性爽 | 秋霞av一区二区三区 | 香蕉久久夜色精品国产使用方法 | 国产免费自拍视频 | 无码人妻丰满熟妇奶水区码 | 亚洲一久久 | 日韩激情成人 | 在线观看av大片 | 少妇大叫太粗太大爽一区二区 |