位运算 如何 O(1) 区间取反

学术版

@[wei_xin](/user/601360) 好的
by Althemeta @ 2023-01-30 15:03:09


@[wei_xin](/user/601360) 但是,右边用右移能挤掉,可是左边用左移挤不掉啊qwq
by Althemeta @ 2023-01-30 15:07:17


@[RAIN_PAIN_VAIN](/user/414912) 与全集
by jijidawang @ 2023-01-30 15:08:28


@[RAIN_PAIN_VAIN](/user/414912) 左边用左移为什么挤不掉。直接把它挤越界就行。
by wei_xin @ 2023-01-30 15:09:14


@[jijidawang](/user/227514) 能解释一下吗
by Althemeta @ 2023-01-30 15:12:07


@[wei_xin](/user/601360) 我这里遇到一个问题:按照您的做法,bitset的长度需要为n,但是因为n是变量,无法定义bitset,这怎么办呢
by Althemeta @ 2023-01-30 15:41:59


@[RAIN_PAIN_VAIN](/user/414912) 为什么不直接开 maxn 大小呢?
by wei_xin @ 2023-01-30 15:47:42


@[wei_xin](/user/601360) 这样左移就挤不掉了
by Althemeta @ 2023-01-30 15:53:32


@[RAIN_PAIN_VAIN](/user/414912) 另外再开一个bitset,里面从右往左第1位到第n位为1,剩下的为0,每次用的时候把原来的bitset按位与上这个bitset就把n位截出来了
by Karl_Aurora @ 2023-01-30 16:01:58


@[RAIN_PAIN_VAIN](/user/414912) 。。。啧,区别不是只在于把不想要的部分挤到 $n+1$ 及以上或者挤到 $maxn$ 及以上吗(前者的声明为 `bitset<n+1>`,后者的为 `bitset<maxn>`,理由显然)?
by wei_xin @ 2023-01-30 16:02:39


上一页 | 下一页