这个题是一个精彩的分析性质区间离散的问题
维护链真的一绝。
L O J \rm LOJ LOJ最短 A C C o d e \rm AC \ Code AC Code
#include<bits/stdc++.h>
#define maxn 200005
#define lim 30
using namespace std;
int n,q,K,f[lim][maxn];
map<int,int>t1,rt;
int Find(int x){
int r=x%K;x/=K;for(;~r&1;r>>=1);
for(int i=lim-1;i>=0;i--) if(x>>i&1) r=f[i