rt,预处理的时候要算出【ai 操作 j 次达到的最小值】,为什么下面的 O(nm2) greedy 是错的:
for(int i = 1; i <= n; ++i) {
memset(used, 0, sizeof(used));
int tmp = a[i];
for(int x = 1; x <= m; ++x) {
int mx = -Linf, pos = 0;
for(int j = 1; j <= m; ++j)
if(!used[j] && tmp - (tmp & b[j]) > mx)
mx = tmp - (tmp & b[j]), pos = j;
tmp -= mx;
v.push_back(mx), used[pos] = 1;
}
}
求大佬指教。
只能枚举子集。