搜索(深搜回溯与广搜) 1.深搜与回溯 深度优先搜索,简称为深搜或 "DFS" (Depth First Search), 是图运算的一种搜索方式,简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.大致的搜索过程如下 深度优先遍历图的方法是, 从图中某顶点v出发: (1 ...
分类:
其他好文 时间:
2021-04-30 12:09:37
阅读次数:
0
在STL编程中,容器是经常用到的一种数据结构,在C++标准库中,容器分为: 序列式容器 关联式容器 二者本质区别在于,序列式容器是通过元素在容器中的位置进行顺序存储和元素访问。关联容器则是通过键[key]存储和读取元素。 标准库中具体的容器如下图所示: ...
分类:
编程语言 时间:
2021-04-27 15:18:49
阅读次数:
0
题目描述 给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组 示例1 输入 [4,5,1,6,2,7,3,8],4 返回值 [1,2,3,4] 解题思路:这里用优先队列来做,让其容量始 ...
分类:
其他好文 时间:
2021-04-24 13:14:06
阅读次数:
0
原题链接 考察:搜索 思路: 预处理有子弹和城堡的坐标,这部分除了暴力没有更好的办法.因为还有一个时间限制,所以需要三维数组.剩下就是BFS. 剪枝: 1.相同时间的拜访点不必再访问. 2.当离终点的曼哈顿距离>能量 不必再走下去. 注意:城堡处一定要预处理再判断子弹. 1 #include <io ...
分类:
其他好文 时间:
2021-04-22 16:32:51
阅读次数:
0
最近做题养成了一个不太好的习惯,习惯性的先去看discuss有没有坑,越是惧怕错误越可能出错,之后的锻炼,出错再去check discuss吧 简单的BFS #include <iostream> #include <algorithm> #include <queue> #include <str ...
分类:
其他好文 时间:
2021-04-21 12:34:23
阅读次数:
0
通过这个题熟悉了下iota的用法,vector自定义排序(根据另一个数组来排当前的数组) 优先队列对pair数据的处理方式,很好的一道题 1 class Solution { 2 public: 3 using PII = pair<int,int>;//type def 4 5 vector<in ...
分类:
编程语言 时间:
2021-04-20 15:19:37
阅读次数:
0
string 容器 常见用法 string s1 = "Hello" string s2("Hello") string s3(s2) string s4 = s3 getline(cin,s)// 从cin中读取一行给s s.empty()// 空?true:false; s.size()//返回 ...
分类:
其他好文 时间:
2021-04-19 15:53:19
阅读次数:
0
merge函数的作用是:将两个已经排好序的序列合并为一个有序的序列。 函数参数:merge(first1,last1,first2,last2,result,compare); firs1t为第一个容器的首迭代器,last1为第一个容器的末迭代器; first2为第二个容器的首迭代器,last2为容 ...
分类:
其他好文 时间:
2021-04-16 11:46:46
阅读次数:
0
给一个图,n个点,m个边。有向。一个人要从起点 S 开始走,要去 n 点。把有向图看成无向图自己选路走,最多走k次,可以不走。走完后,在停的那个点的地方,随机走一个有向边。如果没有出边,就不走。这个人要尽快的走到 n 这个点。问走的时间最长是多少? ...
分类:
其他好文 时间:
2021-04-15 12:48:11
阅读次数:
0
原题链接 考察:双端队列bfs 思路: 双端队列常用于距离只有0,1的情况.当距离为0时,更新的点放在队头.当距离为1时,更新的点放在队尾. 判断01距离不用写冗长的if代码.可以参照方向数组预设距离为0的斜杠应该有的方向. 这里当出队的距离才是确定了此点的最短距离. 1 #include <ios ...