前言:还是要学一下线段树,以后可能会用到
可持续化线段树就是保留这一次操作没有修改的节点,动态开点
我们来看一个模板题
#include<bits/stdc++.h>
using namespace std;
const int N = (int)2e5+5;
#define lc(x) tr[x].ch[0]
#define rc(x) tr[x].ch[1]
int n,m,a[N];
vector<int> v;
struct node{
int ch[2];
int s; // 值域中有多少个数
}tr[N*22]; // 我们要开 n log n个节点
int root[</