- 主题:怎么实现一个和bitset有类似功能的 tritset?
每一位可以取 0, 1, 2 三个值, 谢谢!
--
修改:fangniuwawa FROM 58.206.160.*
FROM 58.206.160.*
对,怎么高效实现呢? 谢谢!
【 在 iconquer 的大作中提到: 】
: 这是要用3进制?
:
--
FROM 58.206.160.*
是一个办法,但是我要统计这个set里面1的个数就不那么容易
【 在 HeliumLeoBob 的大作中提到: 】
: 我觉得你用双二进制=四进制set比较合适
:
--
FROM 58.206.160.*
比如: 电子自旋1/2, z分量可以为1/2, -1/2, 有100个电子,就可以用长度为100的bitset记录这些电子的自旋。 如果是自旋为1的粒子,z分量 -1, 0, 1, 记录这个粒子的自旋用3进制的set就很方便.
【 在 iconquer 的大作中提到: 】
: 这需求很少见啊,有没有具体要实现的功能?
:
--
FROM 58.206.160.*
谢谢回复!
【 在 Madlee 的大作中提到: 】
: 最高效的是用一个字节(8个2进制数,256个状态)表示5位三进制数(243个状态),全部状态穷举做成表,用的时候查表就是了。
: 点二进制数里1的位数也是用查表法的而不是一个个去点。
--
FROM 124.152.132.*
这个不错,谢谢!
【 在 vonNeumann 的大作中提到: 】
: 你可以用封装两个 bitset,第一个 set 的第 i 位和第二个 set 的第 i 位联合起来表示你在第 i 位的数。
: bitset<N> a;
: bitset<N> b;
: ...................
--
FROM 58.206.160.*