acm中的二进制操作(未完成)

参考博客:
https://wenku.baidu.com/view/88d9899cf12d2af90242e6bf.html

http://blog.csdn.net/a409082492/article/details/47083917
http://blog.csdn.net/t6_17/article/details/51504695

bitset
定义bitset<1000>a;
a[1] = 1,a[3] = 1,a[5] = 1;
代表a包含了1,3,5
此时相当于用一个整数代表集合,此时对整数a进行a&(1<<1),a&(1<<3),a&(1<<5)得到的结果都是1

集合整体移位操作
a = a<<1;
代表a包含了2,4,6;
一个例子:
http://blog.csdn.net/stary_yan/article/details/51463345

用整数表示集合的方法见这篇博客:
http://blog.csdn.net/tlonline/article/details/47255923
在程序中表示集合的方法有很多种,当元素比较少时,像这样,用二进制码来表示比较方便。集合{0,1,2…n-1}的子集可以用以下方式编码成整数。
这里写图片描述
这样表示以后,一些集合还可以对应写成如下方式:

空集………………………..0
只含有第i个元素的集合{i}…………1<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值