【bzoj2631】tree link-cut-tree】的更多相关文章

知道了为什么要换根(changeroot),access后为什么有时要splay,以及LCT的其他操作,算是比较全面的啦吧,,, 现在才知道这些,,,真心弱,,, #include<cstdio> #include<algorithm> #define read(x) x=getint() using namespace std; const int N=300003; inline int getint(){char c;int ret=0;for(c=getchar();c&l…
大概就是供自己复习的吧 1. 细节讲解 安利两篇blog: Menci 非常好的讲解与题单 2.模板 把 $ rev $ 和 $ pushdown $ 的位置记清 #define lc son[x][0] #define rc son[x][1] #include <bits/stdc++.h> using namespace std; ; ] ,fa[maxn], st[maxn]; int lazy[maxn], s[maxn], v[maxn]; bool ws(int x){ ]==x…
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3282 题面: 3282: Tree Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 2845  Solved: 1424[Submit][Status][Discuss] Description 给定N个点以及每个点的权值,要你处理接下来的M个操作. 操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y…
P3690 [模板]Link Cut Tree (动态树) 认父不认子的lct 注意:不 要 把 $fa[x]$和$nrt(x)$ 混 在 一 起 ! #include<cstdio> void swap(int &a,int &b){a^=b^=a^=b;} #define N 300005 ][N],fa[N],rev[N]; #define lc ch[0][x] #define rc ch[1][x] ][fa[x]]==x||ch[][fa[x]]==x;} void…
题意 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的. 1:后接两个整数(x,y),代表连接x到y,若x到y已经联通则无需连接. 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在. 3:后接两个整数(x,y),代表将点x上的权值变成y. 数据范围: \(1 \leq N, M \leq 3 \cdot {10}^5\) 分析…
[模板]Link Cut Tree 思路: LCT模板: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 300005 int n,m,val[maxn]; ],f[maxn],xr[maxn],q[maxn],rev[maxn]; inline void in(int &now) { ;now=; char Cget=getchar(); ') { ; Cget=getchar(); } ') { now=…
UPD:更新了写法. [模板]Link Cut Tree 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的. 后接两个整数(x,y),代表连接x到y,若x到y已经联通则无需连接. 后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在. 后接两个整数(x,y),代表将点x上的权值变成y. 数据范围: \(1 \leq N, M \leq 3…
二次联通门 : luogu P3690 [模板]Link Cut Tree 莫名RE第8个点....如果有dalao帮忙查错的话万分感激 #include <cstdio> #include <iostream> #define Max 4000002 void read (int &now) { now = ; bool temp = false; register char word = getchar (); ') { if (word == '-') temp =…
P3690 [模板]Link Cut Tree (动态树) 题目背景 动态树 题目描述 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的. 1:后接两个整数(x,y),代表连接x到y,若x到y已经联通则无需连接. 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在. 3:后接两个整数(x,y),代表将点x上的权值变成y. 输入输出…
题目背景 动态树 题目描述 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的. 1:后接两个整数(x,y),代表连接x到y,若x到y已经联通则无需连接. 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在. 3:后接两个整数(x,y),代表将点x上的权值变成y. 输入输出格式 输入格式: 第1行两个整数,分别为n和m,代表点数和操…