浅谈状态压缩DP

本文介绍了状态压缩DP的概念,通过将集合转化为整型利用位运算进行优化,特别是讨论了如何解决旅行商问题,解释了如何通过状态转移方程找到最短路径,并通过蜜蜂寻找最短路径的行为探讨其数学意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

什么是状态压缩DP

黑科技操作

集合看作bool数组充当二进制转十进制压缩整型

旅行商问题TSP


什么是状态压缩DP

你是否还在为想不出DP的状态转移方程而烦恼?你现在又可以多一种选择了!那就是状态压缩DP!

但我本人还是建议先将DP的思维提升上去,现在的题我们无非就三种思路!

一.暴搜DFS维持生活骗分大法,与其结合的还有打表法,过样例法和各种玄学卡常!

二.一看就知道却又不知道怎么搞的DP,此法算是可以将生活开的算好了,但是,一但想不出状态转移方程,就只有用第一种了。

三.根本难想的思维法(什么贪心啊,还要用什么数学之类的知识等)

那么,我们的DP现在都是整型的(光是整型就难搞),但是,我跟你说,下标是集合,也可以!

?还有下标是集合的DP?下标还可以是集合?

其实本质就是利用各种黑科技(位运算)将集合变成整型,这种针对下标是集合的DP就是状态压缩DP了!

为什么叫状态压缩DP,因为你把集合压缩成了一个整型啊!(O ^ O)!

黑科技操作

 

 有了这张神表,什么位运算就不再复杂了!我建议大家在用位运算的时候打上括号,它并不是按从左往右,而是按优先顺序!

https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7/4752611?fr=aladdin

来来来,给大家发福利,以后再也不用担心不打括号出错了!

集合看作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值