关于sosdp的一些细节
https://codeforces.com/contest/165/problem/E
for (int sta = 0; sta < (1 << 22); sta++)//先sta 和先i循环是不一样的
{//先sta循环,可以把每一维的子数据上传,用于sta数据的求和
//先i循环,是将每个sta的第i维进行前缀和
for (int i = 0; i <= 22; i++)
{
if (sta & (1 << i) && num[sta ^ (1 << i)] != -1)
{
num[sta] = num[sta ^ (1 << i)];
break;
}
}
}

浙公网安备 33010602011771号