首页 > 其他 > 详细

DP技巧

时间:2020-08-15 22:52:33      阅读:76      评论:0      收藏:0      [点我收藏+]

持续更新ing

 

一、区间DP

1.for循环一般第一维枚举区间长度,第二维枚举左端点,第三维枚举中继点。

2.遇到环,将环断链复制两遍。


二、状压DP

1.用单个数表示一个集合,用这个数二进制下的1表示该元素处于集合中,0表示不再。

2.这个数二进制下1的个数就是集合中元素的个数。

3.使用lowbit运算遍历每一个元素,其中lowbit返回的值是2的该元素次幂的值,可以开一个数组存储2的各个幂的值所对应的对数,这个对数即为该元素在集合中的位置。

4.枚举集合中的所有子集:

for(int y=x;y;y=(y-1)&x)//y即为x的子集

5.若集合S的一个子集为A,则S-A可以表示为S^A或S-A。

DP技巧

原文:https://www.cnblogs.com/YLCHANGE/p/13509982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!