B. Binary Colouring
给你一个正整数
, 是 , 或 , - 不存在同时满足
和 的索引 。
可以证明,在问题的限制条件下,总是存在一个有效的数组。
Solution
位运算
本题的难点主要是注意到一个变形:
若某位数的第
void solve() {
int x;cin >> x;
vector<int> ans;
for (int i = 0;i <= __lg(x);i++) {
if (((x >> i) & 1) && ((x >> (i + 1)) & 1)) {
ans.push_back(-1);
x += (1 << (i + 1));
} else {
ans.push_back((x >> i) & 1);
}
}
cout << ans.size() << '\n';
for (auto x : ans)cout << x << " ";cout << '\n';
}