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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ1036 (其实这只是一份板子)

發布時間:2024/9/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ1036 (其实这只是一份板子) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  我說我是不是完蛋了啊... ...昨天考試線段樹寫錯,調了好久才調回來;今天做這道樹鏈剖分辣雞操作題,TM寫錯了4個地方!先是建樹為了省常數打了一個build結果初值賦錯了,然后又是線段樹!getmax和getsum錯的還不是一個地方!最后我發現update賦的不是dfn[x]而是x!再這樣下去我是不是有一天連for循環都不會打了啊!!!

    好吧我是用Windows的Devcpp寫的,丑了一點啊。

#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #define ls (x<<1) #define rs (x<<1|1) using namespace std; const int N = 30010; struct Node{int to,next;}E[N<<1]; int n,m,fa[N],top[N],val[N],T[N<<4],T2[N<<4],son[N],size[N],rec[N],dfn[N],tot,dep[N],num,head[N]; inline int gi() {int x=0,res=1;char ch=getchar();while(ch<'0' || ch>'9'){if(ch=='-')res=-res;ch=getchar();}while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();return x*res; } inline void link(int u,int v) {E[++tot]=(Node){v,head[u]};head[u]=tot;E[++tot]=(Node){u,head[v]};head[v]=tot; } inline void dfs1(int x,int fat) {dep[x]=dep[fat]+1;fa[x]=fat;size[x]++;for(int e=head[x];e;e=E[e].next){if(E[e].to==fat)continue;dfs1(E[e].to,x);size[x]+=size[E[e].to];if(size[E[e].to]>size[son[x]])son[x]=E[e].to;} } inline void dfs2(int x,int tp) {top[x]=tp;dfn[x]=++num;rec[num]=x;if(!son[x])return;dfs2(son[x],tp);for(int e=head[x];e;e=E[e].next)if(E[e].to!=fa[x]&&E[e].to!=son[x])dfs2(E[e].to,E[e].to); } inline void build(int x,int l,int r) {if(l==r){T2[x]=T[x]=val[rec[l]];return;}int mid=(l+r)>>1;build(ls,l,mid);build(rs,mid+1,r);T2[x]=T2[ls]+T2[rs];T[x]=max(T[ls],T[rs]); } inline int gc() {char ch=getchar();while(ch<'A'||ch>'Z')ch=getchar();if(ch=='C')return 1;if(ch=='Q')ch=getchar();if(ch=='M')return 2;if(ch=='S')return 3; } inline void update(int x,int l,int r,int xp,int v) {if(l==r){T[x]=T2[x]=v;return;}int mid=(l+r)>>1;if(xp<=mid)update(ls,l,mid,xp,v);else update(rs,mid+1,r,xp,v);T2[x]=T2[ls]+T2[rs];T[x]=max(T[ls],T[rs]); } inline int getmax(int x,int l,int r,int xl,int xr) {if(xl<=l && r<=xr)return T[x];int mid=(l+r)>>1;if(xr<=mid)return getmax(ls,l,mid,xl,xr);else if(xl>mid)return getmax(rs,mid+1,r,xl,xr);return max(getmax(ls,l,mid,xl,mid),getmax(rs,mid+1,r,mid+1,xr)); } inline int gmax(int u,int v) {int Ans=-N*N;while(top[u]^top[v]){if(dep[top[u]]<dep[top[v]])swap(u,v);Ans=max(Ans,getmax(1,1,n,dfn[top[u]],dfn[u]));u=fa[top[u]];}if(dep[u]<dep[v])swap(u,v);Ans=max(Ans,getmax(1,1,n,dfn[v],dfn[u]));return Ans; } inline int getsum(int x,int l,int r,int xl,int xr) {if(xl<=l && r<=xr)return T2[x];int mid=(l+r)>>1;if(xr<=mid)return getsum(ls,l,mid,xl,xr);else if(xl>mid)return getsum(rs,mid+1,r,xl,xr);else return getsum(ls,l,mid,xl,mid)+getsum(rs,mid+1,r,mid+1,xr); } inline int gsum(int u,int v) {int Ans=0;while(top[u]^top[v]){if(dep[top[u]]<dep[top[v]])swap(u,v);Ans+=getsum(1,1,n,dfn[top[u]],dfn[u]);u=fa[top[u]];}if(dep[u]<dep[v])swap(u,v);Ans+=getsum(1,1,n,dfn[v],dfn[u]);return Ans; } int main() {n=gi();for(int i=1;i<n;++i)link(gi(),gi());for(int i=1;i<=n;++i)val[i]=gi();dfs1(1,1);dfs2(1,1);build(1,1,n);m=gi();while(m--){int type=gc(),x=gi(),y=gi();switch(type){case 1:{update(1,1,n,dfn[x],y);break;}case 2:{printf("%d\n",gmax(x,y));break;}case 3:{printf("%d\n",gsum(x,y));break;}default:{break;}}} }

  

轉載于:https://www.cnblogs.com/fenghaoran/p/6623012.html

總結

以上是生活随笔為你收集整理的BZOJ1036 (其实这只是一份板子)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人av资源站 | 日韩一卡二卡三卡 | 爱上av| 伊人网站在线观看 | 日本丰满大乳奶做爰 | 青少年xxxxx性开放hg | 在线观看免费高清视频 | 国产精品欧美激情 | 中文有码在线 | 久久精品午夜 | 同性色老头性xxxx老头 | 99中文字幕在线观看 | 性色综合 | 深夜av在线 | 亚洲天堂免费av | 在线免费看黄 | 草草草在线观看 | 少妇高潮惨叫久久久久久 | 午夜视频免费在线 | 亚洲成人精品一区二区三区 | 亚州欧美 | 国产天天操 | 色无五月 | 一级免费观看 | 国产一道本| 亚洲av片不卡无码久久 | 手机看片日韩久久 | 亚洲自拍色 | 深夜的私人秘书 | 小早川怜子久久精品中文字幕 | 伊人55 | 国产成人精品视频 | 91麻豆一区二区三区 | 波多野结衣在线播放视频 | 色综合天天综合网天天看片 | 久久久最新 | 亚洲欧洲日韩国产 | 欧美日韩色| 肉番在线观看 | 人妻无码一区二区三区四区 | 潘金莲一级淫片aaaaa | 中文字幕在线视频观看 | 亚洲三级a | 亚洲精品乱码久久久久久蜜桃欧美 | 俄罗斯一级片 | 国产精品无码电影在线观看 | 天天搞天天 | av男人的天堂在线观看 | 国产精品成人aaaaa网站 | 国产无遮无挡120秒 欧美综合图片 | 欧美激情视频一区二区三区不卡 | 色爽黄 | 国产视频久久久 | 伊人春色在线观看 | 色哟哟一区二区 | 日韩午夜剧场 | 欧美性日韩 | 男女国产视频 | 欧美日韩中文在线观看 | 亚洲综合图片区 | 免费精品国产 | 18久久久| 人人插人人| 在线免费观看av的网站 | 久久久久三级 | 久久影音 | 91精品国产麻豆国产自产在线 | 亚洲乱码av| 在线观看国产欧美 | 国产91色| 亚洲一区二区色 | 中文在线а√在线8 | ass精品国模裸体pics | 国产精久久一区二区三区 | 欧美性三级 | 波多野结衣中文字幕一区 | 中文字幕一区在线观看 | 久久国产这里只有精品 | 一本大道东京热无码 | 中文在线观看高清视频 | 国产在线观看黄色 | 久久精品综合网 | av手机免费在线观看 | 佐山爱在线视频 | 99久久久国产| 一本高清视频 | 国产第一色 | 黄色aaa| 国产成a人亚洲精v品无码 | 一区二区三区视频在线观看免费 | 无码精品国产一区二区三区免费 | 国产精品va在线观看无码 | 国产一区二区电影 | 成人免费午夜视频 | 情不自禁电影 | 免费国产羞羞网站视频 | 亚洲色图视频网站 | av调教 | 国产精品二区视频 |