#includeusing namespace std; const int N = 100010; int m; int e[N], l[N], r[N], idx; //初始化,0是head,1是tail,idx从2开始 void init() { //0表示左端点,1表示右端点 r[0] = 1; l[1] = 0; idx = 2; } //在第k个结点后插入值为x的结点 void add(int k, int x) { //改变四条边,因此有四个指针操作 e[idx] = x; l[idx]=k; r[idx]=r[k]; l[r[k]]=idx; r[k]=idx; } //删除第k个结点 void remove(int k) { l[r[k]] = l[k]; r[l[k]] = r[k]; }



