码迷,mamicode.com
首页 >  
搜索关键字:bfs dfs 邻接表 邻接矩阵    ( 16210个结果
AcWing 175. 电路维修
原题链接 考察:双端队列bfs 思路: 双端队列常用于距离只有0,1的情况.当距离为0时,更新的点放在队头.当距离为1时,更新的点放在队尾. 判断01距离不用写冗长的if代码.可以参照方向数组预设距离为0的斜杠应该有的方向. 这里当出队的距离才是确定了此点的最短距离. 1 #include <ios ...
分类:Windows程序   时间:2021-04-12 12:17:28    阅读次数:0
CF877D Solution
题目链接 题解 ?:若图中边权全部为$1$,BFS即可在$O(n+m)$的时间中求出单源最短路。 BFS+剪枝就可以啦(☆▽☆) BFS:对于每个位置,向上下左右4个方向拓展长度$k$,直接搜索。 剪枝:在拓展过程中(当前拓展到位置$(x,y)\(),只要发现一个无法更新的位置\)(tx,ty)$( ...
分类:其他好文   时间:2021-04-12 11:40:06    阅读次数:0
二叉树——236. 二叉树的最近公共祖先
二叉树——236. 二叉树的最近公共祖先 题目: 思路: 后续遍历+DFS:具体思路参照了题解中的解析 代码: class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* ...
分类:其他好文   时间:2021-04-09 13:25:04    阅读次数:0
[模板]链式向前星
我以前和你一样也是个vectorer,直到我膝盖中了一TLE. Invitation Cards 这道题目,8s的时限,1e6的数据,只不过是跑了两边DIjkstra,vector超时,而向前星只需要2s. 同样是邻接表存图,链式向前星虽然没有vector那么简洁,但是速度会有明显提升,并且许多操作 ...
分类:其他好文   时间:2021-04-08 14:03:54    阅读次数:0
P1605 迷宫
吐槽 最后的BFS和DFS了,做完这个开始搞模拟!!! DFS 注意检查的是新坐标!!! 1 #include<bits/stdc++.h> 2 using namespace std; 3 int sx,sy,ex,ey; 4 int maps[6][6]; 5 int dir[4][2]={ 6 ...
分类:其他好文   时间:2021-04-08 13:47:42    阅读次数:0
基础算法学习--dfs和bfs
#dfs的模板 注意bool判断是否走过这个点并注意回溯的处理。 注意条件判断和边界问题。 //边界判断即剪枝 if(chk()) return; if(over(BianJie)) return; if(bool = false)//未搜索过 bool = true; //赋值或纪录 dfs(n ...
分类:编程语言   时间:2021-04-07 11:21:16    阅读次数:0
二分图
二分图就是可以把所有点划分到两边去,使得所有边都是在集合之间的,而集合内部没有边。如下图: 1.1 染色法 时间复杂度:O(n+m) 用来判断一个图是不是二分图。染色法就是一个很简单的DFS。 图论的一个性质:一个图是二分图,当且仅当这个图可以被染色。 一个图是二分图,当且仅当图中不含奇数环。环是从 ...
分类:其他好文   时间:2021-04-06 14:32:49    阅读次数:0
DNA Laboratory POJ - 1795
原题链接 考察:状压dp+dfs寻找路径 思路: 重复覆盖问题.参考愤怒的小鸟的思路,我们需要两两构造一个包含两个字符串a,b的DNA序列,然后要分a在前面与b在前面两种情况. 本蒟蒻一开始想的是定义结构体String,再定义结构体内部的st(二进制标记哪些串被标记),构造后的具体字符串s.每个状态 ...
分类:其他好文   时间:2021-04-06 14:25:16    阅读次数:0
走迷宫——最短路径(DFS)
问题:求从起点走到终点的最短路径 Java代码: 1 package com.lzp.maze.dfs; 2 3 import java.util.Scanner; 4 5 /** 6 * @author LZP 7 * @date 2021年4月3日 8 * @Description 9 * @v ...
分类:其他好文   时间:2021-04-05 12:41:26    阅读次数:0
剑指 Offer 36. 二叉搜索树与双向链表
仅供自己学习 思路: 按照题目要求我们需要定义一个head头节点,并且因为树是二叉搜索树,所以要采取中序遍历才能得到从小到大的排序。 按照中序遍历的模板 dfs(root->left); cout<<root->val; dfs(root->right); 同样我们也通过这个模板写DFS,这里因为是 ...
分类:其他好文   时间:2021-04-05 12:33:29    阅读次数:0
16210条   上一页 1 ... 4 5 6 7 8 ... 1621 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!