struct seg{ VI val;vector<VI>id; V init(int x){val.rz(x),id.rz(x);FOR(i,0,x-1)id[i].rz(x-i);} seg(int x=-1){if(~x)init(1),val[0]=pos[x],id[0][0]=pos[x]+1;} }t[N/B];
括号里把x赋值为-1是啥意思?