some programs!

This commit is contained in:
rogerwang2008 committed 2026-09-25 20:20:01 +08:00
1 parent 5d30e847c1
commit ed054247d5
32 files changed
+1882 -149

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
#include <iostream>
using namespace std;
constexpr size_t MAX_N = 100005, MAX_DIGITS = 16;
int n, m;
int bits[MAX_DIGITS];
void print_bits(ostream& os = clog) {
for (const int bit : bits) { os << bit; }
os << endl;
}
void update_bits(const int num) {
for (int i = 0; i < MAX_DIGITS; i++) {
bits[i] += (num >> i) & 1;
}
}
void add(int num) {
for (int i = 0; i < MAX_DIGITS; i++) {
const bool current_bit = num & 1;
num >>= 1;
if (current_bit == 0) { continue; }
num += bits[i];
bits[i] = n - bits[i];
print_bits();
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
for (int _ = 0; _ < n; _++) {
int num;
cin >> num;
update_bits(num);
}
for (int _ = 0; _ < m; _++) {
print_bits();
char op;
int x;
cin >> op >> x;
if (op == 'Q') {
cout << bits[x] << endl;
} else {
add(x);
}
}
return 0;
}