void init_log2() { for(int i=1;i<=n;i++) lg[i]=lg[i-1]+((1<<lg[i-1])==i); }
这样预处理后,\(\log_2x\) 取整的结果就是 lg[x]-1
lg[x]-1
具体原因可以通过枚举找到