状态压缩,dp

   状态压缩是什么呢?

       如果你还不知道,那么请看下面的例子。

       路旁有一排100个路灯,他们其中有亮的,也有灭的,请问你该如何记录他们的状态呢

       有人会说,拿数组记录不就行了吗?

       但是如果不只有100个路灯呢?有100000000个路灯该怎么记录呢?

       这时,用数组就会超内存,怎么办呢?

       其实,用一个二进制数就可以表示了。表示方法如下:

       第i位为1表示第i个路灯是亮的,0表示是灭的,这样就能轻松记录了。

       但得到了这个二进制数后,我们怎么快速知道每个灯的状态呢?

       出来吧,位运算!

       下面列举了一些常见的二进制位的变换操作。

 

 

       所以大家可以发现,状态压缩是一种在计算机里很重要的思想。

       不只是dp,很多搜索,暴力用上它也会简单很多。

  

自己最近写的关于状态压缩的题(持续更新中):

毕业旅行问题

蒙德里安的梦想

玉米田 

炮兵阵地

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值