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

重庆网站建设接重庆零臻科技wordpress发帖软件

重庆网站建设接重庆零臻科技,wordpress发帖软件,wordpress分类排序号,创意设计文案正题 题目链接:https://gmoj.net/senior/#main/show/4739 题目大意 nnn个点mmm条边的一张图#xff0c;qqq次询问一个区间的边可以形成多少连通块。 解题思路 询问按照右端点排序#xff0c;然后边权就是编号#xff0c;这样询问最大生成树后判断有多少个边权大于lll即可。…正题 题目链接:https://gmoj.net/senior/#main/show/4739 题目大意 nnn个点mmm条边的一张图qqq次询问一个区间的边可以形成多少连通块。 解题思路 询问按照右端点排序然后边权就是编号这样询问最大生成树后判断有多少个边权大于lll即可。用LCTLCTLCT维护这个最大生成树然后用树状数组记录每条边的权值。 时间复杂度O(nlog⁡n)O(n\log n)O(nlogn) 当然也可以莫队做维护到每个块时的情况然后右指针右移左指针右移是暴力还原到每个块的末尾即可。 时间复杂度O(nn)O(n\sqrt n)O(nn​) 当然这里是用LCTLCTLCT做的。 codecodecode #includecstdio #includecstring #includealgorithm #includestack #define lowbit(x) (x-x) using namespace std; const int N4e510; struct node{int x,y,id; }a[N],p[N]; int n,m,q,val[N],sum[N],ans[N],fa[N]; struct Link_Cut_Tree{int t[N][2],fa[N];bool r[N];stackints;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 PushUp(int x){sum[x]min(val[x],min(sum[t[x][0]],sum[t[x][1]]));return;}void Rev(int x){swap(t[x][0],t[x][1]);r[x]^1;return;}void PushDown(int x){if(!r[x])return;Rev(t[x][0]);Rev(t[x][1]);r[x]^1;return;}void Rotate(int x){int yfa[x],zfa[fa[x]];int xsDirect(x),ysDirect(y);int wt[x][!xs];t[y][xs]0;t[y][xs]w;t[x][!xs]y;if(Nroot(y))t[z][ys]x;if(w)fa[w]y;fa[y]x;fa[x]z;PushUp(y);PushUp(x);return;}void Splay(int x){s.push(x);while(Nroot(s.top())) s.push(fa[s.top()]);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;xfa[yx])Splay(x),t[x][1]y,PushUp(x);return;}void MakeRoot(int x){Access(x);Splay(x);Rev(x);return;}int Split(int x,int y){MakeRoot(x);Access(y);Splay(y);return sum[y];}void Link(int x,int y){MakeRoot(x);fa[x]y;Access(x);return;}void Cut(int x,int y){MakeRoot(y);Access(x);Splay(x);fa[t[x][0]]0;t[x][0]0;PushUp(x);return;} }LCT; struct Tree_Array{int t[N];void Change(int x,int val){while(xm){t[x]val;xlowbit(x);}return;}int Ask(int x){int ans0;while(x){anst[x];x-lowbit(x);}return ans;} }T; int find(int x) {return (fa[x]x)?x:(fa[x]find(fa[x]));} bool cmp(node x,node y) {return x.yy.y;} int main() {scanf(%d%d%d,n,m,q);memset(val,0x3f,sizeof(val));memset(sum,0x3f,sizeof(sum));for(int i1;in;i)fa[i]i;for(int i1;im;i){scanf(%d%d,a[i].x,a[i].y);val[in]sum[in]i;}for(int i1;iq;i)scanf(%d%d,p[i].x,p[i].y),p[i].idi;sort(p1,p1q,cmp);int z0;for(int i1;iq;i){while(zmzp[i].y){z;int xa[z].x,ya[z].y;if(xy)continue;int Xfind(x),Yfind(y);if(XY){int wLCT.Split(x,y);LCT.Cut(wn,a[w].x);LCT.Cut(wn,a[w].y);T.Change(w,-1);}else fa[X]Y;LCT.Link(x,zn);LCT.Link(y,zn);T.Change(z,1);}ans[p[i].id]n-(T.Ask(p[i].y)-T.Ask(p[i].x-1));}for(int i1;iq;i)printf(%d\n,ans[i]); }
http://www.zqtcl.cn/news/510722/

相关文章:

  • 中小企业网站建设与管理课件百度云济南高端网站建设公司
  • 台州企业建站程序网页设计素材网站知乎
  • wordpress视频付费谷歌seo专员是指什么意思
  • 域名续费做网站wordpress模板淘宝客模板
  • 加强政协机关网站建设深圳教育软件app开发
  • 绍兴企业网站推广Django 个人博客网站开发
  • html5 开发网站图门市建设局网站
  • wordpress 建立网站江苏电信网站备案
  • 企业网站能个人备案吗成都蜀美网站建设
  • 网站开发 占位符直播网站开发接入视频
  • 网站 易用性原则义乌进货网平台
  • 做网站的你选题的缘由是什么洛阳网站建设找汉狮
  • 常德住房和城乡建设局网站陕西省建设厅的网站
  • 国外做meta分析的网站开发公司替业主承担物业费承诺书
  • 百度收录网站定位地址wordpress 检测浏览器
  • 学习网站建设优化wordpress 轮播广告
  • 迈诺网站建设wordpress 前台注册登录
  • 网站开发市场成本免费建站网站大全
  • 四川省建设人才网站通过ip访问网站需要怎么做
  • 网站建设需要知道什么财税公司怎么找客源
  • 赣州那里有做网站的公司物流网站建设平台
  • 青色系网站北京的建筑设计公司
  • 纺织品做外贸一般在哪个网站上手机网站qq登录插件
  • 长沙做公司网站有没有免费的云服务器可以用
  • 济南专业网站优化如何制作小程序二维码
  • 建站平台软件猪八戒做网站要多少钱
  • 建设集团网站专业开发网站多少钱
  • 网站制作流程有哪些wordpress众筹
  • 网站打开是建设中手机咋建网站
  • 外贸专业网站的公司建百度网站