https://ac.nowcoder.com/acm/contest/23479/K
题面这道题的构造方法挺多的,我说两个我觉得可以的构造方法吧
构造一我们将这个数x转化为二进制后,然后再复制该二进制并添加到之前的二进制后面
构造二我们直接将x转化为二进制后,在这个二进制后面添加30个0然后再添加x那么就是 ( ( 1 < < 30 ) + 1 ) ((1x; vector a,b; while(x){ a.push_back(x%2); b.push_back(x%2); x/=2; } a.insert(a.end(),b.begin(),b.end()); ll l = a.size(); ll ans = 0; // for(int i = l-1;i >= 0; --i) { // cout