题意 供应链有3种人,零售商,经销商和供应商,供应链上的人都可以从自己的供应商那里以P的价格买入,而后以r%的涨幅卖给下一级,问供应链上找零售商买价格最低是多少 思路 每一层的价格涨幅都是一样的,所以这个问题等价于从根结点出发找最短的路到零售商。用BFS和DFS都可以做,DFS代码量少我就用DFS了 ...
分类:
其他好文 时间:
2020-10-05 22:33:38
阅读次数:
48
题意 树的层序遍历的问题,找到结点数最多的一层,输出结点树和对应层号 思路 看到是树层序遍历就立马反应过来用BFS做,可以说是裸模版的题目了 层序遍历在每次扩展状态的时候都是取一层的结点数进行扩展,此时就可以直接比较来找题目要求的解了 代码 #include <algorithm> #include ...
分类:
其他好文 时间:
2020-10-05 21:55:34
阅读次数:
27
Flood Fill 可以在线性时间复杂度内找到某个点所在的连通块 1097.池塘计数 链接:https://www.acwing.com/problem/content/1099/ #include <iostream> #include <algorithm> #include <cstring ...
分类:
编程语言 时间:
2020-09-24 00:00:51
阅读次数:
38
因为很多算法思想都基于递归,无论是DFS、树的遍历、分治算法、动态规划等都是递归思想的应用。学会了用递归来解决问题的这种思维方式,再去学习其他的算法思想,无疑是事半功倍的。 递归的本质 无可奈何花落去,似曾相识燕归来。 递归,去的过程叫“递” ,回来的过程叫“归”。 探究递归的本质要从计算机语言的本 ...
分类:
其他好文 时间:
2020-09-18 17:18:38
阅读次数:
36
方法一:BFS模板的应用。 总结的DFS、BFS模板参考:https://www.cnblogs.com/panweiwei/p/13065661.html class Solution(object): # BFS def kthLargest(self, root, k): """ :type ...
分类:
其他好文 时间:
2020-09-18 00:03:27
阅读次数:
35
由于是无向无权图,采用BFS 自环对于最短路无影响 重边和其它边对最短路径数的影响是一样的,不用做特别处理 采用dp思想即可统计出1号点到每个点的最短路径数 const int N=1e6+10; vector<int> g[N]; int dist[N]; bool vis[N]; int cnt ...
分类:
其他好文 时间:
2020-09-17 15:36:22
阅读次数:
25
题意:有一个$n$X$m$的图,"#"表示障碍物,"."表示道路,只能向右或向下走,问从左上角走到右下角的方案数. 题解:这题可以用bfs来搞,但dp更简单点吧~~.首先,只有当向右和向下都能走时,方案数才会增加,我们用dp表示从起点走到某个单位的方案数,这个单位只能从左边或上边走过来,所以它的方案 ...
分类:
其他好文 时间:
2020-09-17 14:17:39
阅读次数:
18
宽度优先搜索 概念 宽度优先搜索算法(又称广度优先搜索算法)是最简单的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijksta单源最短路径算法和Prim最小生成树算法都采用了与宽度优先搜索类似的思想。 宽度优先搜索的核心思想是:从初始结点开始,应用算符生成第一层结点,检查目标结点是否在 ...
分类:
其他好文 时间:
2020-09-15 20:53:10
阅读次数:
27
深度优先搜索 概念 深度优先搜索属于图算法的一种,是一个针对图和树的遍历算法,英文缩写为DFS即 Depth First Search。 例如,在下面的树结构中找出节点1。 采取的策略是按照深度优先的方式进行,也就是一条路走到底。每次进入都先走左边,直到左边不能走了,退回一步,选择没有走过的路(右边 ...
分类:
其他好文 时间:
2020-09-09 19:08:49
阅读次数:
40
二叉树的遍历 树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实 ...
分类:
其他好文 时间:
2020-09-09 19:03:13
阅读次数:
33