跳躍二分搜#
快速冪#
int f(int x, int y) {
int ret = 1;
for (; y; y >>= 1, x *= x) if (y&1) ret *= x;
return ret;
}
int f(int x, int y) {
if (!y) return 1;
if (y&1) return f(x, y-1) * x;
int k = f(x, y/2);
return k*k;
}
互補團隊#
m 為總共幾個元素
int k = (1 << m) - 1;
for (auto &c : string) now |= (1 << (c-'A')); 計算現在物件有幾項元素
另一項互補物件即為 now^k
