一.模板: 1.dijsktra算法(矩阵): 1 int n,cost[1005][1005],dis[1005],vis[1005],dp[1005]; 2 void dijkstra(int st) 3 { 4 memset(vis,0,sizeof(vis)); 5 for(int i = ...
分类:
其他好文 时间:
2017-11-04 16:24:48
阅读次数:
195
算法详细:Dancing Links博客 1.精确覆盖: ZOJ3209 Treasure Map HUST1017 Exact cover POJ3074 Sudoku 2.可重复覆盖: HDU2295 Radar FZU1686 神龙的难题 ...
分类:
其他好文 时间:
2017-11-04 16:21:20
阅读次数:
163
最近学习了一些搜索方面的知识,写一篇文章来总结一下。 1.双向BFS 好像听有的人说这也叫meet in middle,确实,这样说更加的形象一些。原来的BFS都是从起点出发进行搜索,直到搜索到终点为止。 而双向BFS提高了算法的效率,从起始状态与终止状态同时出发,一同进行搜索,这样搜索的范围就可以 ...
分类:
其他好文 时间:
2017-09-09 13:46:44
阅读次数:
188
十进制 → 二进制 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。 例:将十进制的(43)D转换为二进制的步骤如下: 1. 将商43除以2,商21 ...
分类:
其他好文 时间:
2017-08-07 13:31:21
阅读次数:
131
需要记忆的部分: 对于二叉树问题,首先需要熟练记住二叉树的前序中序遍历的递归版本和迭代版本,后序也可以看一下,记住BFS的实现过程,归并排序,快速排序,二叉搜索树BST。 总结: 1)二叉树问题基本都是考察递归,几乎所有的二叉树问题时间复杂度都是O(N),空间复杂度和二叉树的高度有关系,因为每一次递 ...
分类:
其他好文 时间:
2017-06-17 18:21:31
阅读次数:
129
1、二分搜索的模板。 算法面试中,如果需要优化O(n)的时间复杂度,那么只能是O(logn)的二分法。 注意二分法大多数情况都是适用于排序数组。 http://www.lintcode.com/zh-cn/problem/first-position-of-target/ 模板有四点注意: 1)st ...
分类:
编程语言 时间:
2017-06-10 23:32:16
阅读次数:
275
kuangbin专题一 A. 棋盘问题 在是棋盘的格子上放置棋子,其中要求所有棋子不同行也不同列,求摆放的方案数。 dfs,参数:行、棋子数,遍历的时候要回溯。 B. Dungeon Master 走迷宫,3D的走迷宫。 C. Catch That Cow 最短时间找到那只牛。 bfs,剪枝。 D. ...
分类:
其他好文 时间:
2017-05-19 10:04:44
阅读次数:
118
前面放了几天假(虽然我们是在补课),所以懒得写博客。补课期间学习了网络流,后面写专题总结。网络流主要是建模,慢慢搞。 后缀数组这个东西非常难搞,当初老师讲的时候 我(lao)们(shi) 水了2h,讲完还是一脸懵逼。虽然思路是理解了,但是完全不知道代码是什么意思。cnm 然后某一天晚上我没交手机,坐 ...
分类:
编程语言 时间:
2017-04-06 00:08:37
阅读次数:
236
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash……系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度、唯品会、58同城、新浪微博、趣分期、美团点评等都在1、2……面的时候被问过无数次,都问吐了&_&,其他公司笔试的时候,但凡有Java ...
分类:
编程语言 时间:
2016-12-13 07:35:12
阅读次数:
477
A - 棋盘问题:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 解题思路:DFS,在这里有两个搜索方向,同时对每个位置的描述由xy坐标完成,第一 ...
分类:
其他好文 时间:
2016-12-03 14:43:34
阅读次数:
211