当前位置: 首页 > news >正文

深圳专业专业网站建设店铺设计方案

深圳专业专业网站建设,店铺设计方案,网站开发工程师怎么样,wordpress edit lock正题 题目链接:https://www.luogu.com.cn/problem/P4172 题目大意 nnn个点的一张图#xff0c;有两个操作 询问两个点之间的一条路径使得最长边最短删除一条边 解题思路 显然这条边一定是在最小生成树上的#xff0c;所以我们需要维护支持删边的最小生成树。 显然LCTLCTL…正题 题目链接:https://www.luogu.com.cn/problem/P4172 题目大意 nnn个点的一张图有两个操作 询问两个点之间的一条路径使得最长边最短删除一条边 解题思路 显然这条边一定是在最小生成树上的所以我们需要维护支持删边的最小生成树。 显然LCTLCTLCT无法支持删除但是注意到只有删除操作所以我们反着做的话就变成了加边操作用LCTLCTLCT维护即可。 codecodecode #includecstdio #includecstring #includealgorithm #includestack #define mp(x,y) make_pair(x,y) using namespace std; const int N2e510,inf2147483647; int n,m,t,ans[N]; int from[N],w[N],val[N]; pairpairint,int ,intlk[N]; struct node{int x,y,w,id;bool del; }e[N]; struct Query{int op,x,y; }q[N]; struct LCT{stackint s;int fa[N],t[N][2],r[N];void PushUp(int x){from[x]x;w[x]val[x];if(t[x][0]w[t[x][0]]w[x])w[x]w[t[x][0]],from[x]from[t[x][0]];if(t[x][1]w[t[x][1]]w[x])w[x]w[t[x][1]],from[x]from[t[x][1]];return;}bool Nroot(int x){return fa[x](t[fa[x]][0]x||t[fa[x]][1]x);}bool Direct(int x){return t[fa[x]][1]x;}void Rev(int x){swap(t[x][0],t[x][1]);r[x]^1;}void PushDown(int x){if(r[x])Rev(t[x][0]),Rev(t[x][1]),r[x]0;return;}void Rotate(int x){int yfa[x],zfa[y];int xsDirect(x),ysDirect(y);int wt[x][xs^1];if(Nroot(y))t[z][ys]x;t[x][xs^1]y;t[y][xs]w;if(w)fa[w]y;fa[y]x;fa[x]z;PushUp(y);PushUp(x);}void Splay(int x){int nowx;s.push(x);while(Nroot(now))nowfa[now],s.push(now);while(!s.empty())PushDown(s.top()),s.pop();while(Nroot(x)){int yfa[x];if(!Nroot(y))Rotate(x);else if(Direct(x)Direct(y))Rotate(y),Rotate(x);else Rotate(x),Rotate(x);}return;}void Access(int x){for(int y0;x;yx,xfa[x])Splay(x),t[x][1]y,PushUp(x);return; }void MakeRoot(int x){Access(x);Splay(x);Rev(x);return;}void Split(int x,int y){MakeRoot(x);Access(y);Splay(y);return;}void Link(int x,int y){MakeRoot(x);fa[x]y;Access(x);return;}void Cut(int x,int y){MakeRoot(x);Access(y);Splay(y);fa[t[y][0]]0;t[y][0]0;PushUp(y);return;} }LCT; struct unionfind{int fa[N];int find(int x){return (fa[x]x)?x:(fa[x]find(fa[x]));}void unionn(int x,int y){int Fafind(x),Fbfind(y);if(xy)fa[y]x;else fa[x]y;return;} }F; bool CmP(node x,node y) {return x.wy.w;} bool cMp(node x,node y) {return x.idy.id;} int main() {scanf(%d%d%d,n,m,t);for(int i1;im;i){scanf(%d%d%d,e[i].x,e[i].y,e[i].w);if(e[i].xe[i].y)swap(e[i].x,e[i].y);lk[i]mp(mp(e[i].x,e[i].y),i);e[i].idi;}sort(lk1,lk1m);for(int i1;it;i){scanf(%d%d%d,q[i].op,q[i].x,q[i].y);if(q[i].xq[i].y)swap(q[i].x,q[i].y);if(q[i].op2){q[i].x(*lower_bound(lk1,lk1m,mp(mp(q[i].x,q[i].y),0))).second;e[q[i].x].del1; } }for(int i1;inm;i)from[i]i,val[i]w[i]-inf;for(int i1;in;i)F.fa[i]i;for(int i1;im;i)val[in]w[in]e[i].w;sort(e1,e1m,CmP);for(int i1;im;i){if(e[i].del)continue;int FaF.find(e[i].x),FbF.find(e[i].y);if(FaFb)continue;F.unionn(Fa,Fb);LCT.Link(e[i].x,e[i].idn);LCT.Link(e[i].idn,e[i].y);}sort(e1,e1m,cMp);for(int it;i1;i--){if(q[i].op1){LCT.Split(q[i].x,q[i].y);ans[i]w[q[i].y];}else{int idq[i].x,x,y;ye[id].y;xe[id].x;LCT.Split(x,y);if(w[y]e[id].w){int wfrom[y];LCT.Cut(w,e[w-n].y);LCT.Cut(e[w-n].x,w);LCT.Link(x,idn);LCT.Link(idn,y);}}}for(int i1;it;i)if(q[i].op1)printf(%d\n,ans[i]);return 0; }
http://www.huolong8.cn/news/12637/

相关文章:

  • 网站建设费属于业务宣传费吗如何建立和设置公司网站
  • 重庆大足网站建设东莞做网页建站公司
  • 做教育导航的网站软件下载网站怎么赚钱
  • 什么求职网站可以做几份简历linux网站开发工具
  • 广州做网站网站安全建设步骤
  • 建站过程海报素材网站推荐
  • 如何做公司网站简述企业网站建设实施的步骤
  • 企业网站托管趋势网站推广怎么做比较好
  • 化妆品网站开发可行性网站域名.xin
  • 作品集制作网站自己买台服务器做网站
  • 网站怎么做双机房切换网站开发软硬件配置
  • 江苏省住房和城乡建设厅官方网站新网免费空间
  • 马尔康网站建设上海网站开发制作公司
  • 下陆区建设局网站西安未央区今天出啥事了
  • 响应式环保网站模板中国香烟网上商城
  • 百度网站管理网站建设建站网易互客
  • 旅游网站开发方案pptWordPress抓取豆瓣
  • 门户网站建设多久建立企业网站的目的和意义
  • 网站域名如何从代理商那里转出来西安哪家公司做网站
  • 梵讯企业网站建设中国进口贸易网官网
  • 常州专业网站建设公司哪家好开发app成本
  • 网站怎么做流量统计肥城网站建设推广
  • 外贸免费开发网站模板乌苏市电力建设工程公司网站
  • 为朋友做的网站舆情处置的五个步骤
  • 网站与网页的关系wordpress非凡主题里导航下拉菜单
  • 做网站免费送域名网站cn域名注册
  • 网站建设必备的功能模块寮步镇仿做网站
  • 丽水市莲都区建设局网站ae模板
  • 路由下做网站映射Wordpress 相同tag
  • iis .net 网站架设做网站反链