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

网页制作下载安装包无锡seo公司哪家好

网页制作下载安装包,无锡seo公司哪家好,免费网站源码大全下载,营销型网站传统网站题链: http://www.lydsy.com/JudgeOnline/problem.php?id2002 题解: LCT 如果把弹跳的起点和终点连一条边,弹出去的与n1号点连边, 则不难发现,整个图形成了一颗树, 同时需要支持树的修改(拆分,…

 

题链:

http://www.lydsy.com/JudgeOnline/problem.php?id=2002

题解:

LCT

如果把弹跳的起点和终点连一条边,弹出去的与n+1号点连边,

则不难发现,整个图形成了一颗树,

同时需要支持树的修改(拆分,合并)和询问点的深度(该点到根的链上的点的个数),

所以LCT可以很轻松的解决本题。

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#define MAXN 200050
using namespace std;
int N,M,next[MAXN];
struct LCT{int ch[MAXN][2],fa[MAXN],rev[MAXN],size[MAXN];bool Which(int x){return ch[fa[x]][1]==x;}void Reverse(int x){swap(ch[x][0],ch[x][1]);rev[x]^=1;}bool Isroot(int x){return ch[fa[x]][0]!=x&&ch[fa[x]][1]!=x;}void Pushup(int x){size[x]=size[ch[x][0]]+size[ch[x][1]]+1;}void Pushdown(int x){if(!Isroot(x)) Pushdown(fa[x]);if(rev[x]) Reverse(ch[x][0]),Reverse(ch[x][1]),rev[x]^=1;}void Rotate(int x){static int y,z,l1,l2;y=fa[x]; z=fa[y];l1=Which(y); l2=Which(x); fa[x]=z;if(!Isroot(y)) ch[z][l1]=x;fa[y]=x; fa[ch[x][l2^1]]=y; ch[y][l2]=ch[x][l2^1]; ch[x][l2^1]=y;Pushup(y);}void Splay(int x){static int y; Pushdown(x);for(;y=fa[x],!Isroot(x);Rotate(x)) if(!Isroot(y)) Rotate(Which(y)==Which(x)?y:x);Pushup(x);}void Access(int x){static int y;for(y=0;x;y=x,x=fa[x]) Splay(x),ch[x][1]=y,Pushup(x);//!!!}void Beroot(int x){Access(x); Splay(x); Reverse(x);}void Cut(int x,int y){Beroot(x); Access(y); Splay(y);fa[x]=ch[y][0]=0; Pushup(y);}void Link(int x,int y){Beroot(x); fa[x]=y;}void Modify(int x,int k){static int t; t=min(x+k,N+1);Cut(next[x],x); Link(t,x); next[x]=t;}int Query(int x){Beroot(N+1); Access(x); Splay(x);return size[x]-1;}
}DT;
int main(){scanf("%d",&N); DT.size[N+1]=1;for(int i=1,k;i<=N;i++){scanf("%d",&k); next[i]=min(i+k,N+1);DT.fa[i]=next[i]; DT.size[i]=1;} scanf("%d",&M); int a,b,c; for(int i=1;i<=M;i++){scanf("%d%d",&a,&b); b++;if(a==1) printf("%d\n",DT.Query(b));else scanf("%d",&c),DT.Modify(b,c);}return 0;
}

  

转载于:https://www.cnblogs.com/zj75211/p/8365662.html

http://www.lbrq.cn/news/2376847.html

相关文章:

  • 柳江网站建设网址导航下载到桌面
  • 免费html网页模板网站太原百度快速优化
  • 什么博客可以做网站公司调查公司
  • 网站设计师培训中心关键词百度指数查询
  • php网站后台建设网站维护需要学什么
  • 湖北建设委员会网站外链推广软件
  • 网站建设知名公司排名网站seo排名公司
  • 衡阳网站建设开发价格手机百度收录提交入口
  • 网站浏览记录怎么做快速建站
  • 机构组织网站建设推广下载
  • 营销网站建设规划概念html期末大作业个人网站制作
  • 怎样修改网站标题如何做好一个网站
  • 简述网站的制作步骤品牌策划包括哪几个方面
  • jsp网站开发需要什么技术免费友链平台
  • 微信商城网站如何做网络服务平台
  • 专注于上海seo做网站建设网站关键词如何快速上首页
  • 委托他人做公司网站的税率百度竞价排名的利与弊
  • 潍坊 seo网站建设济南seo全网营销
  • 不知道是谁做的网站 输入学号新闻式软文范例
  • 网页制作建立站点福清seo
  • 网页设计与制作例子影响关键词优化的因素
  • 为wordpress首页添加关键词seo营销课程培训
  • wordpress分类模板下载seo网站优化方案摘要
  • 建设企业网站管理的重要性怎样做百度推广
  • 建立网站定制中国新闻
  • 做网站简单还是做app简单王通seo
  • 傻瓜网站开发软件什么平台可以免费推广产品
  • 零代码平台快排seo排名软件
  • 公司网站建设要注意什么深圳推广公司排行榜
  • 网站流量的主要来源有没被屏蔽的国外新闻网站
  • 产品需求文档(PRD)格式全解析:从 RP 到 Word 的选择与实践
  • 图机器学习(13)——图相似性检测
  • BI Agent vs. 传统BI工具:衡石科技视角下的效率与智能跃迁
  • C++ - 仿 RabbitMQ 实现消息队列--sqlite与gtest快速上手
  • x86版Ubuntu的容器中运行ARM版Ubuntu
  • Python 程序设计讲义(2):Python 概述