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

wordpress 全文搜索企业网站优化策略

wordpress 全文搜索,企业网站优化策略,珠海网站建设公,wordpress主题绕过激活码正题 题目链接:https://www.luogu.com.cn/problem/P3273 题目大意 nnn个点有权值#xff0c;要求支持操作 连接两个点单点加权联通块加权全图加权单点询问联通块询问最大值全图询问最大值 解题思路 把所有可能产生的联通块都变到一个区间里就好了 考虑怎么排这个东西…正题 题目链接:https://www.luogu.com.cn/problem/P3273 题目大意 nnn个点有权值要求支持操作 连接两个点单点加权联通块加权全图加权单点询问联通块询问最大值全图询问最大值 解题思路 把所有可能产生的联通块都变到一个区间里就好了 考虑怎么排这个东西可以先离线每次加边的时候连接两个联通块根这样跑出来的dfsdfsdfs序就是符合要求的。 注意因为邻接表是按照加边的顺序倒着枚举的所以要反过来加边。 然后用线段树直接维护答案就好了 时间复杂度O(nlog⁡n)O(n\log n)O(nlogn) code #includecstdio #includecstring #includealgorithm using namespace std; const int N3e510; struct qnode{char op[3];int x,y; }p[N]; struct node{int to,next; }a[N]; int n,q,tot,cnt,ls[N],w[N],fa[N],l[N],r[N]; struct SegTree{int w[N2],lazy[N2];void Downdata(int x){if(!lazy[x])return;w[x*2]lazy[x];lazy[x*2]lazy[x];w[x*21]lazy[x];lazy[x*21]lazy[x];lazy[x]0;return;}void Change(int x,int L,int R,int l,int r,int val){if(LlRr){w[x]val;lazy[x]val;return;}int mid(LR)1;Downdata(x);if(rmid)Change(x*2,L,mid,l,r,val);else if(lmid)Change(x*21,mid1,R,l,r,val);else Change(x*2,L,mid,l,mid,val),Change(x*21,mid1,R,mid1,r,val);w[x]max(w[x*2],w[x*21]);return;}int Ask(int x,int L,int R,int l,int r){if(LlRr){return w[x];}int mid(LR)1;Downdata(x);if(rmid)return Ask(x*2,L,mid,l,r);if(lmid)return Ask(x*21,mid1,R,l,r);return max(Ask(x*2,L,mid,l,mid),Ask(x*21,mid1,R,mid1,r));} }T; void addl(int x,int y){if(xy)return;a[tot].toy;a[tot].nextls[x];ls[x]tot;return; } int find(int x) {return (fa[x]x)?x:(fa[x]find(fa[x]));} void dfs(int x){l[x]r[x]cnt;T.Change(1,1,n,cnt,cnt,w[x]);for(int ils[x];i;ia[i].next)dfs(a[i].to);return; } int main() {scanf(%d,n);for(int i1;in;i)scanf(%d,w[i]),fa[i]i;scanf(%d,q);for(int i1;iq;i){scanf(%s,p[i].op);if(p[i].op[0]U){scanf(%d%d,p[i].x,p[i].y);p[i].xfind(p[i].x);p[i].yfind(p[i].y);if(p[i].xp[i].y)continue;if(p[i].xp[i].y)swap(p[i].x,p[i].y);fa[p[i].y]p[i].x;}else if(p[i].op[0]Ap[i].op[1]1)scanf(%d%d,p[i].x,p[i].y);else if(p[i].op[0]Ap[i].op[1]2)scanf(%d%d,p[i].x,p[i].y);else if(p[i].op[0]!F||p[i].op[1]!3)scanf(%d,p[i].x);}for(int iq;i1;i--)if(p[i].op[0]U)addl(p[i].x,p[i].y);for(int i1;in;i)if(find(i)i)dfs(i);for(int i1;in;i)fa[i]i;for(int i1;iq;i){int xp[i].x,yp[i].y;if(p[i].op[0]U){if(xy)continue;fa[y]x;r[x]r[y];}else if(p[i].op[0]Ap[i].op[1]1)T.Change(1,1,n,l[x],l[x],y);else if(p[i].op[0]Ap[i].op[1]2)xfind(x),T.Change(1,1,n,l[x],r[x],y);else if(p[i].op[0]Ap[i].op[1]3)T.Change(1,1,n,1,n,x);else if(p[i].op[0]Fp[i].op[1]1)printf(%d\n,T.Ask(1,1,n,l[x],l[x]));else if(p[i].op[0]Fp[i].op[1]2)xfind(x),printf(%d\n,T.Ask(1,1,n,l[x],r[x]));else printf(%d\n,T.Ask(1,1,n,1,n));}return 0; }
http://www.zqtcl.cn/news/640013/

相关文章:

  • 犀牛云做网站如何网站备案需要什么东西
  • wordpress星座网站建设与优化计入什么科莫
  • 外贸网站优化方案绵阳网站建设怎么做
  • 黑龙江省网站建设电商的运营推广
  • 惠州建站模板wordpress更换主题帖子封面不显示
  • 网站开发为什么不用cgi了营销型网站案例
  • 网站怎么做飘窗电子商城网站建设的实训内容
  • 怎样申请建网站做it公司网站
  • 一个网站费用给人做ppt的网站吗
  • 免费简历在线制作网站杭州市网站建设公司
  • 用家庭宽带做网站 没有8080端口可以吗汕头教育学会网站建设
  • 南通seo公司网站广东涂料网站建设
  • 杭州哪家公司可以做网站苏州公司官网制作
  • 建一个网站大约多少钱做社区网站怎么做
  • 安阳建设网站企业单位网站建设内容需要什么
  • 网站如何被谷歌收录wordpress搭建企业官网
  • 网站 服务报价网站建设需要具备
  • 鹿泉企业网站建设wordpress使用支付宝当面付
  • 手机网站重要性彩票网站上的走势图是怎么做的
  • 牛牛襄阳网站建设做电商网站需要会些什么问题
  • 唯一做性视频的网站在线股票交易网站开发
  • 做二手的网站有哪些湛江小程序公司
  • 定制型网站建设wordpress md风格
  • 网站建设与推广的实训报告万网会员中心登录入口
  • 做网站如何推销电子商务类型的网站
  • 部署个人网站经典广告推广词
  • 海口模板建站定制南宁品牌网站设计公司
  • 江西网站设计方案网站通栏广告代码
  • 外包网站建设公司网站建设公司的销售好做吗
  • lol做任务领头像网站营销型网站重要特点是?