您的位置:首页 > 其它

ACM_二进制代替DFS的运用

2015-07-21 20:02 225 查看
当所需是一位数组,或者是数组的大小明显小于32位的话,用二进制循环的技巧可以代替DFS繁琐的步骤

for(int i = 0; i < (1 << n); i++) {

int total = 0, Min = INF, cnt = 0;

for(int j = 0; j < n; j++) {

if(i >> j & 1) {

cnt++;

total += A[j];

Min = min(Min, A[j]);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: