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

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

生活随笔

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

编程问答

P4556,jzoj3397-[GDOI2014模拟]雨天的尾巴【树链剖分,线段树】

發(fā)布時(shí)間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P4556,jzoj3397-[GDOI2014模拟]雨天的尾巴【树链剖分,线段树】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

正題

題目鏈接:https://www.luogu.org/problemnew/show/P4556


題目大意

nnn個(gè)點(diǎn)的一棵樹(shù),給出mmm個(gè)操作(x,y,z)(x,y,z)(x,y,z)表示將xxxyyy的路徑上的所有點(diǎn)給與一個(gè)zzz類(lèi)型的食量。

最后對(duì)于每個(gè)點(diǎn)輸出最多的糧食類(lèi)型。


解題思路

先對(duì)這棵樹(shù)進(jìn)行樹(shù)剖,然后對(duì)于每個(gè)x,yx,yx,y我們將其拆成若干條在重鏈上連續(xù)的路徑,然后我們就可以對(duì)于每一條重鏈單獨(dú)進(jìn)行操作,這樣就成為了一個(gè)序列問(wèn)題。

zzz離散化以后再線段樹(shù)上進(jìn)行操作,維護(hù)一個(gè)(w,loc)(w,loc)(w,loc)表示最多的糧食數(shù),這個(gè)糧食的類(lèi)型。然后每次遇到一個(gè)左端點(diǎn)就在zzz+1+1+1,遇到右端點(diǎn)就在zzz?1-1?1


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; const int N=110000; struct Edge_node{int to,next; }a[N<<1]; struct Path_node{int w,z; }q[N*30]; struct Tree_node{int l,r,w,loc; }; int n,m,cnt,tot,ls[N],fa[N],from[N],ans[N]; int b[N],seg[N],id[N],siz[N],son[N],dep[N],top[N]; struct Seg_Tree{Tree_node t[N<<2]; void Merge(int x,int ls,int rs){t[x].w=max(t[ls].w,t[rs].w);if(t[x].w==t[ls].w) t[x].loc=t[ls].loc;else t[x].loc=t[rs].loc;}void Build(int x,int l,int r){t[x].l=l;t[x].r=r;if(l==r){t[x].w=0;t[x].loc=0;return;}int mid=(l+r)/2;Build(x*2,l,mid);Build(x*2+1,mid+1,r);Merge(x,x*2,x*2+1);}void Change(int x,int pos,int w){if(t[x].l==t[x].r){t[x].w+=w;t[x].loc=pos;if(!t[x].w) t[x].loc=0;return;}if(pos<=t[x*2].r) Change(x*2,pos,w);else Change(x*2+1,pos,w);Merge(x,x*2,x*2+1);}int Query(){return t[1].loc;} }Tree; void addl(int x,int y) {a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot; } void dfs1(int x) {siz[x]=1;for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(y==fa[x]) continue;dep[y]=dep[x]+1;fa[y]=x;dfs1(y);siz[x]+=siz[y];if(siz[y]>siz[son[x]]) son[x]=y;} } void dfs2(int x) {seg[x]=++cnt;id[cnt]=x;from[cnt]=top[x];if(son[x]){top[son[x]]=top[x];dfs2(son[x]);}for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(y==fa[x]||y==son[x]) continue;top[y]=y;dfs2(y);} } void Apart_path(int x,int y,int z) {while(top[x]!=top[y]){if(dep[top[x]]<dep[top[y]]) swap(x,y);q[++cnt]=(Path_node){seg[top[x]],z};q[++cnt]=(Path_node){seg[x]+1,-z};x=fa[top[x]];}if(dep[x]>dep[y]) swap(x,y);q[++cnt]=(Path_node){seg[x],z};q[++cnt]=(Path_node){seg[y]+1,-z}; } bool cmp(Path_node x,Path_node y) {return x.w<y.w;} int main() {scanf("%d%d",&n,&m);for(int i=1;i<n;i++){int x,y;scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}dfs1(1);dfs2(1);cnt=0;for(int i=1;i<=m;i++){int x,y,w;scanf("%d%d%d",&x,&y,&w);Apart_path(x,y,w);b[i]=w;}sort(b+1,b+1+m);m=unique(b+1,b+1+m)-b-1;sort(q+1,q+1+cnt,cmp);int l=1;Tree.Build(1,1,max(m,1));for(int i=1;i<=n;i++){while(q[l].w<=i&&l<=cnt){int w=lower_bound(b+1,b+1+m,abs(q[l].z))-b;Tree.Change(1,w,(q[l].z<0)?-1:1);l++;}ans[id[i]]=b[Tree.Query()];}for(int i=1;i<=n;i++)printf("%d\n",ans[i]); }

總結(jié)

以上是生活随笔為你收集整理的P4556,jzoj3397-[GDOI2014模拟]雨天的尾巴【树链剖分,线段树】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 国产伦精品一区二区三区妓女 | 2021国产精品| 国产三级在线观看视频 | 欧美日韩三级视频 | www.日日| 极品淫少妇 | 91一起草 | 亚洲欧洲成人精品久久一码二码 | 国产欧美精品在线 | 亚洲视频在线观看一区二区三区 | 久久久久久久久久免费视频 | 人妻 日韩精品 中文字幕 | 做a爰小视频 | 欧美极品三级 | 西野翔之公侵犯中文字幕 | 国产精品日本一区二区在线播放 | 天天国产视频 | 黄色一级免费网站 | 久久国产精品久久久久 | 一区亚洲 | 女子spa高潮呻吟抽搐 | ,亚洲人成毛片在线播放 | 亚洲s码欧洲m码国产av | 亚洲精品9| 日韩精品一区二区不卡 | 香蕉久操 | 亚洲精品一区在线观看 | 综合激情网五月 | 91av视频| 免费在线观看一区 | 中文字幕无码精品亚洲35 | 中文字幕在线观看高清 | 亚洲国产日本 | 亚洲成人1区| 免费在线亚洲 | 91二区 | 超碰在线资源 | 午夜爱爱毛片xxxx视频免费看 | 免费成人福利视频 | 天天干,天天操 | 久久久久成人精品无码 | 99伊人| 性感美女在线 | 白浆四溢 | 天天欧美| 99热导航| 瑟瑟视频免费观看 | 爱爱视频在线免费观看 | 7799精品视频天天看 | 欧美日韩一区二区三区69堂 | 奇米狠狠干 | 污污网站免费在线观看 | 国内精品卡一卡二卡三 | 国产精品久久久久久久久久久久久久久久久久 | 亚洲成av人片在线观看无 | 欧美成人精品一区二区 | 色播五月激情五月 | 噼里啪啦高清 | 麻豆精品视频在线 | 女人扒开屁股让我添 | 天天天天天天干 | 欧美视频黄| 青青青免费视频观看在线 | 不卡的av电影 | 日本美女久久 | 欧美日韩在线播放 | 999久久| 欧美精品激情视频 | 男裸体无遮挡网站 | 天堂色播| 亚洲成人一区 | 日韩大片免费在线观看 | 日本学生初尝黑人巨免费视频 | 国产精品人妻 | 国产精品久久久久永久免费看 | 国产又大又黄又粗 | 四虎图库| 波多野结衣三区 | www.天堂av | www.亚洲欧美| 丰满人妻综合一区二区三区 | 亚洲日日骚 | 网友自拍一区 | 亚洲综合色一区二区 | japanese av在线| 在线观看羞羞漫画 | 91精品系列 | 日本高清免费看 | 激情开心站 | 国产精品一区二区精品 | 中文字幕毛片 | 国产日韩在线看 | 99视频只有精品 | 久久精品成人一区二区三区蜜臀 | 九色国产视频 | 精品毛片一区二区三区 | 久久久97| 日韩一区在线免费观看 | 亚洲综合欧美综合 |