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

东坑镇网站建设什么网站可以做钟点工

东坑镇网站建设,什么网站可以做钟点工,cn网站,沈阳网站搭建正题 luogu 3203 金牌导航 LCT-2 题目大意 给你n个格子#xff0c;当你在第i个格子时#xff0c;可以往后跳aia_iai​格#xff0c;让你进行几下操作#xff1a; 1.修改第i个数 2.查询在第i个格子跳多少下会跳出界 解题思路 往后跳相当于连接格子#xff0c;由此建立一…正题 luogu 3203 金牌导航 LCT-2 题目大意 给你n个格子当你在第i个格子时可以往后跳aia_iai​格让你进行几下操作 1.修改第i个数 2.查询在第i个格子跳多少下会跳出界 解题思路 往后跳相当于连接格子由此建立一棵树 用LCT实现删边加边 建立一个额外的点为出界的点查询时判断距离即可 代码 #includecstdio #includecstring #includeiostream #includealgorithm #define ll long long #define N 200021 using namespace std; int n, x, q, a[N]; struct LCT {#define ls son[x][0]#define rs son[x][1]int p[N], s[N], fa[N], son[N][2];bool NR(int x){return fa[x] (son[fa[x]][0] x || son[fa[x]][1] x);}bool IRS(int x){return son[fa[x]][1] x;}void push_up(int x){s[x] s[ls] s[rs] 1;return;}void pushr(int x){swap(ls, rs);p[x] ^ 1;return;}void push_down(int x){if (p[x]){if (ls) pushr(ls);if (rs) pushr(rs);p[x] 0;}return;}void rotate(int x){int y fa[x], z fa[y], k IRS(x), g son[x][!k];if (NR(y)) son[z][IRS(y)] x;if (g) fa[g] y;son[x][!k] y;son[y][k] g;fa[x] z;fa[y] x;push_up(y);return;}void push_hall(int x){if (NR(x)) push_hall(fa[x]);push_down(x);}void Splay(int x){push_hall(x);while(NR(x)){if (NR(fa[x])){if (IRS(x) IRS(fa[x])) rotate(fa[x]);else rotate(x);}rotate(x);}push_up(x);return;}void access(int x){for (int y 0; x; x fa[y x])Splay(x), rs y, push_up(x);}void make_root(int x){access(x);Splay(x);pushr(x);return;}int find_root(int x){access(x);Splay(x);while(ls) push_down(x), x ls;Splay(x);return x;}void Split(int x, int y){make_root(x);access(y);Splay(y);return;}void link(int x, int y){make_root(x);if (find_root(y) ! x) fa[x] y;return;}void cut(int x, int y){make_root(x);if (find_root(y) x fa[y] x !son[y][0]){fa[y] rs 0;push_up(x);}return;} }T; void link(int x, int y)//连边 {if (x y n) T.link(x, x y);else T.link(x, n 1); } void cut(int x, int y) {if (x y n) T.cut(x, x y);else T.cut(x, n 1); } int main() {scanf(%d, n);for (int i 1; i n; i){scanf(%d, a[i]);link(i, a[i]);}scanf(%d, q);while(q--){scanf(%d, x);if (x 1){scanf(%d, x);x;T.Split(n 1, x);printf(%d\n, T.s[x] - 1);//查询两点之间的点数}else{scanf(%d, x);x;cut(x, a[x]);scanf(%d, a[x]);link(x, a[x]);}}return 0; }
http://www.pierceye.com/news/998436/

相关文章:

  • 做网站的技术哪个简单泰安吧贴吧
  • 网站制作厂家政务网站开发方案
  • 爱站工具卡片式网站
  • 计算机网站开发图片湛江城乡建设局网站
  • 广州个性化网站开发代做网站关键词
  • 如何开发一个手机网站北京推广网站
  • 企业网站建设合作合同wordpress国产定制主题
  • 万网虚拟机怎么做两个网站网页设计实训步骤
  • 福田做网站公司怎么选择wordpress怎样在列表页使用瀑布流
  • 做导航网站用多大的空间广州天河区有哪些大学
  • 广州市城乡建设部网站首页做婚礼设计在哪个网站下载素材
  • 网站建设推广服务合同范本什么是电子商务专业?
  • 青岛网站建设公司电话棋牌室的网站怎么做
  • 网站更改公司需要重新备案吗传媒网站
  • 海诚网站建设青岛李村网站设计公司
  • 哪个网站可以宣传做的蛋糕网站商城微信支付接口申请
  • 如何做淘客推广网站可信赖的手机网站设计
  • 西城专业网站建设公司哪家好外贸网站优化谷歌关键词排名
  • 先做网站后备案仿做网站可以整站下载器吧
  • ASP.NET实用网站开发 课后答案开发网站过程
  • 做网站需要编码吗仿站网站源码
  • 响应式网站什么意思爱南宁app下载官网最新
  • 自己做的网站怎么添加采集模块网站管理包括哪些内容
  • php做网站验证码的设计电商网站的二级怎么做
  • 广西网站建设价钱微信crm管理系统
  • 福州网站建设公司中小企业荆门市城乡建设管理局网站
  • 建设信用卡网站首页有做车身拉花的网站吗
  • 怎么做婚恋网站织梦网站推广插件
  • rtt全民互助平台网站开发自己怎样做免费网站
  • 建站模板东营建网站公司