[模板]二进制枚举

二进制枚举 即用十进制连续数枚举状态

O(1<<n);

对于需枚举状态判断的题目(暴力杯)是刷分利器

在此复习一下

    for(int i = 0; i < 1 << n; i++) //枚举范围 i << n
    {
        int x = i;
        
        //memset(dglit, 0, sizeof(dglit));    看写法清空

        for(int j = 1; j <= n; j++)
        {
            dglit[j] = (x & 1);                //相当于覆盖计算 无需清空
            x >>= 1;
        }

        for(int j = 1; j <= n; j++)            //枚举位置状态进行操作判断
        {
            if(!judge(j))
        }
    }

 

posted @ 2019-02-28 12:31  张浦  阅读(104)  评论(0编辑  收藏  举报