折半搜索
weixin_44019404
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 3977 折半搜索
折半搜索。 学到了map.lower_bound; 先做前面再做后面,就是基本的折半搜索,难点在于如何去处理,不能为空集。 这里我每一次状态都是从1开始,表示从不为空。 然后单独再每一半搜索中,更新一下最值。 然后再合起来更新。 #include<iostream> #include<cstring> #include<algorithm> #include&l...原创 2019-03-19 18:34:52 · 230 阅读 · 0 评论 -
折半搜索
全部枚举肯定不科学。 我们试着枚举两个,a,b; a+b=-c-d就是我么要找到的四个数字了。 两边分别枚举,n^2的运算量,再排序,二分搜索就好了,相比起四次方的运算量来说,要很多了。 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include&...原创 2019-03-17 11:21:15 · 1155 阅读 · 0 评论 -
超大背包问题
运用二进制,折半搜索,其实我觉得本质就是状压思想,,, 枚举前一半所有情况并保存。 然后排序保障总质量越大,价值越大。 这里相当于贪心。 可以证明的,如果在一堆一一对应的数里面,只取一个,另外一个数越大才越有可能是最优解。 这个思想大概只能用在只取一个上面。 再枚举后半部分。 算出每一种枚举方式的总质量,w-wi就是他在前一半的质量,二分搜索一下,就能找到总质量和不大于w的最大价值了。 emmmm...原创 2019-03-17 12:27:59 · 532 阅读 · 0 评论
分享