广度优先搜索变形(dp)
用途:查询最短路,计算答案值范围较小的dp题目
最短路就不解释了,讲讲第二种是怎么回事
题目:给定两个数组a,b($a_i,b_i<2048$),长度为n$(1<n<2048)$,x初始为0,每次允许操作
求最后x的最大值
因为a对x的影响是减小,b是增大,异或b以后也不会超过2048,也就是最多2048个答案,那么可以用类似广搜的做法来计算每一步能取到的所有答案,这样就不需要dfs了
所以代码:
1 | void solve(){ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ZestfulYK的Blog!