摘要:
单调栈 定义 单调栈,就是一个栈,不过栈内元素保证单调性。即,栈内元素要么从小到大,要么从大到小。 而单调栈维护的就是一个数前/后第一个大于/小于他的数。 直接看模板题。 P5788 【模板】单调栈 思路 首先 \(f(i)\) 表示的是从 \(i\) 之后第一个大于 \(a_i\) 的元素的下标。 阅读全文
摘要:
最短路问题 单源最短路 全源最短路 Floyd算法 通过转移方程判断 i -> j 的路径中,是否有 i -> k -> j 更短,运用简单 dp 来转移状态。 f[i][j] 表示 i -> j 的最短路径长度。 但不要忘了初始化,一个点到其本身的最短路径为 1,即 f[i][i] = 1,其余的 阅读全文
摘要:
图的基本操作 图的存储 1.邻接矩阵 //对于一个正常的边 (u,v,w) vector<int> a[MAXN]; a[u].push_back(v); a[v].push_back(u); 2.链式前向星 //对于一个正常的边 (u,v,w) struct node{ int to,next,l 阅读全文