为什么
for (int k = 0; k < n; ++k)
if ((i >> k) & 1)
f[k + 1][i] = min (f[k + 1][i], f[j + 1][i - (1 << k)] + w[j + 1][k + 1]);
能 AC
但
for (int k = 0; k < n; ++k)
if (~((i >> k) & 1))
f[k + 1][i - (1 << k)] = min (f[k + 1][i | (1 << k)], f[j + 1][i] + w[j + 1][k + 1]);
WA 60