你可以用封装两个 bitset,第一个 set 的第 i 位和第二个 set 的第 i 位联合起来表示你在第 i 位的数。
bitset<N> a;
bitset<N> b;
获取第 i 位的数:a.at(i) << 1 | b.at(i)
统计 0 的个数:(~a & ~b).count()
统计 1 的个数:(~a & b).count()
统计 2 的个数:(a & ~b).count()
【 在 fangniuwawa (兰州放牛) 的大作中提到: 】
: 是一个办法,但是我要统计这个set里面1的个数就不那么容易
--
修改:vonNeumann FROM 27.38.56.*
FROM 27.38.56.*