题意: 0到N的数轴上,每次可以选择移动到x-1,x+1,2*x,问从n移动到k的最少步数。 思路: 同时遍历三种可能并记忆化入队即可。 Tips: n大于等于k时最短步数为n-k。 在移动的过程中可能会越界、重复访问。 poj不支持<bits/stdc++.h>和基于范围的for循环。 #incl ...
分类:
其他好文 时间:
2020-03-13 18:38:08
阅读次数:
50
题意: 有n个点n-1条边的数,问每个点所在子树中白黑点数目最大差。 思路: 白点先由下至上汇集,后由上至下分并。 #include <bits/stdc++.h> using namespace std; const int M=220000; vector<vector<int>> e(M); ...
分类:
其他好文 时间:
2020-03-13 15:48:43
阅读次数:
69
BFS(广度优先搜索) 类似于树的按层遍历 常用实现方法:队列 模板: 注意: 只能用来求解无权图的最短路径问题 队列:用来存储每一层便利得到的节点 标记:对于遍历过的结点,应将其标记,以防重复访问 leetcode常见题目: 1、地图分析 2、完全平方数 3、单词接龙 ...
分类:
编程语言 时间:
2020-03-08 22:06:36
阅读次数:
61
DFS 深度优先搜索 主要有两种实现方法:栈和递归 什么是DFS?说白了就是一直遍历元素的方式而已,我们可以把它看成是一条小蛇,在每个分叉路口随意选择一条路线走,直到撞到南墙,才会调头返回到上一个分叉路口,走另外一条路,有时候运气很好,撞到了目标点,那么这个算法就结束了。 模板: 参数1 DFS(参 ...
分类:
编程语言 时间:
2020-03-08 21:53:42
阅读次数:
67
基于栈的深度优先搜索 基于手写的栈和STL栈的深度优先 ...
分类:
其他好文 时间:
2020-03-06 01:29:30
阅读次数:
70
PAT 大纲 考试时间为三小时。顶级考试一般出3题,题目描述语言为英文;甲级考试一般出4题,题目描述语言为英文;乙级考试一般出5题,题目描述语言为中文。 每题分数的分布与题目难度成正比。顶级考试的分数分布一般为:30、35、35;甲级考试的分数分布一般为:20、25、25、30;乙级考试的分数分布一 ...
分类:
其他好文 时间:
2020-03-04 19:10:53
阅读次数:
67
历史 python2.1 经典类 DFS(深度优先遍历) python2.2 引入新式类,经典类 DFS,新式类 BFS(广度优先遍历) python2.3 2.7 经典类 DFS,新式类 C3 python3 新式类 C3 U型继承和菱形继承 U型继承 对于DFS算法,MRO(方法解析顺序)为: ...
分类:
编程语言 时间:
2020-03-04 19:09:13
阅读次数:
83
Floyd: 问题:Floyd算法求解下图各个顶点的最短距离 解析: 从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点k,算法检查Dis(i,k) + Dis(k,j) < ...
分类:
其他好文 时间:
2020-03-03 19:12:15
阅读次数:
75
输入:一个整数n,接下来有n*n的矩形,代表两个城市之间的路程花费,每两个城市之间的花费不超过10000. 输出:一个整数,代表从1号城市把所有景点旅游一遍且回到1号城市的最小花费。 样例输入: 4 0 1 1 1 1 0 2 1 5 5 0 6 1 1 3 0 样例输出: 8 思考: 1.搜完所有 ...
分类:
其他好文 时间:
2020-03-03 00:39:51
阅读次数:
96
什么是搜索算法 搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。现阶段一般有枚举算法、深度优先搜索、广度优先搜索、A 算法、回溯算法、蒙特卡洛树搜索、散列函数等算法。在大规模实验环境中,通常通过在搜索前,根据条件降低搜索规模;根据问题的约束 ...
分类:
编程语言 时间:
2020-03-01 14:07:12
阅读次数:
95