- 博客(4)
- 资源 (3)
- 收藏
- 关注
转载 bfs与dfs的用途与区别
1.BFS是用来搜索最短径路的解是比较合适的,比如求最少步数的解,最少交换次数的解,因为BFS搜索过程中遇到的解一定是离根最近的,所以遇到一个解,一定就是最优解,此时搜索算法可以终止。这个时候不适宜使用DFS,因为DFS搜索到的解不一定是离根最近的,只有全局搜索完毕,才能从所有解中找出离根的最近的解。(当然这个DFS的不足,可以使用迭代加深搜索ID-DFS去弥补)2.空间优劣上,DFS是有优势
2017-05-18 12:46:11 7460
转载 判断一个整数转换成二进制后1的个数
判断一个整数转换成二进制后1的个数,大致有三种方法,分别是左移位、右移位和与运算。第一种方法:右移位 右移位的基本思路是,先将整数转换成正整数,再将该数与1进行与运算。若不将整数做取绝对值处理,当输入的数是负数时,每向右移动一位,高位会自动补1,就会导致死循环。[cpp] view plain copy print?
2017-05-13 20:05:25 863
转载 石子合并问题
石子合并问题是最经典的DP问题。首先它有如下3种题型:(1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。分析:当然这种情况是最简单的情况,合并的是任意两堆,直接贪心即可,每次选择最小的两堆合并。本问题实际上就是哈夫曼的变形。
2017-05-05 12:27:11 252
转载 动态规划专题小结:四边形不等式优化
今天第一次学习四边形不等式优化dp,感觉优化效果十分给力,不过数学味道比较浓重,证明比较复杂。因此这里删繁就简,给出关于四边形不等式优化必须要明白的地方,以后直接套用条件即可。四边形不等式优化条件在动态规划中,经常遇到形如下式的转台转移方程:m(i,j)=min{m(i,k-1),m(k,j)}+w(i,j)(i≤k≤j)(min也可以改为max)上述的m(i,j)
2017-05-03 12:34:33 254
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人