Home avatar

Lruihao's Note

Lruihao's GitHub chart

最短路入门

Dijkstra 算法

1. 定义概览

Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra 算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。

小希的迷宫-HDU-1272(并查集 or 树性质)

题目链接:小希的迷宫

并查集

  • 无回路
  • 单连通

并查集做,首先想到的是判断两个点是否连通,不连通就合并,已连通的话说明会形成回路,则可以判定 No,交了一发错了。
想了一下没有考虑到多个连通域的情况,该题必须只有一个连通域

树的性质

既然单连通无回路,则这肯定是一棵树;那么 edge=v-1;

Bear and Finding Criminals-Codeforces680B

题目链接:Bear and Finding Criminals

大致题意就是小熊警察住在某个城市,他要抓各个城市的罪犯,现在用一个 BCD 可以知道那个城市里一定有罪犯。

一定能确定该城市有小偷的几种情况:

  1. 警察所住城市有罪犯,则一定能检测到

  2. 警察所住城市的左边和右边位置若不为 0,则说明两座城市都有罪犯(只有一边为 1 是不能确定到底哪个城市有罪犯的)

  3. 警察所在城市的一边检测到有罪犯,但在另一边已经没有城市了,则说明该城市一定有罪犯

发现新版本

当前站点有新版本可用。