SPFA 即队列优化过的Bellman Ford算法,可以处理带负权图。 应用于单源最短路。 此外还可以进行负权环的判定,即若第n次操作仍可降低花费,则一定存在负权环。 ...
分类:
编程语言 时间:
2020-05-21 21:13:04
阅读次数:
56
算法简述 SPFA算法其实是bellman-ford算法的队列优化形式,不再是简简单单的进行n-1次松弛,而是使用队列,能使路径变短(dist[y] > dist[x] + 1)且不在队列里的节点才入队进行松弛。 SPFA算法与Dijkstra算法的堆优化实现形式差不多,都是使用邻接表的方式。 代码 ...
分类:
编程语言 时间:
2020-05-16 21:02:59
阅读次数:
88
题面 这个题状态设计和状态转移方程都非常好设计好推,重点思考一下单调队列优化以及代码DP中一些初始化,转移要点的一些方法,尽量做到以后不再犯类似的错误。 F[i][j] 即第i天,当前手中有j的股票所能带来的最大价值。 分类讨论一下,今天可以买,可以不买,还可以卖。 买的话可以分为我今天第一次开始买 ...
分类:
其他好文 时间:
2020-05-05 00:24:39
阅读次数:
78
SPFA(Shortest Path Faster Algorithm)算法,是西南交通大学段凡丁于 1994 年发表的,其在 Bellman ford 算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。 算法过程 设立一个队列用来保存待优化的顶点,优化时每次取出队首顶点 ...
分类:
编程语言 时间:
2020-05-03 15:05:16
阅读次数:
72
```//f[i]表示从前i头牛中选,且合法,的所有方案,价值最大//第i头选或不选都可以//不选:变成f[i-1]//选i:需要知道从i开始往前连续选了多少个,最多是k//如果是x个,那么就加上w[i-x+1]+w[i-x+2]...+w[i],也就是s[i]-s[i-j]//那么再往前选的话,下... ...
前言 首先此篇文章是为低年级的朋友准备的, 不涉及什么深奥的知识 ,~~比如线性规划之类的~~。 仔细看 ,不要以为自己学不会,看不懂,只要你会DP并打过一些题目而且会单调队列优化DP,斜率DP离你就不远了~~~。这篇文章也是在我领悟了斜率DP不久写的,如果本文有什么不严谨的地方,欢迎指出!!! 在 ...
分类:
其他好文 时间:
2020-02-14 11:09:03
阅读次数:
88
题目链接: "http://poj.org/problem?id=2373" 题目描述 农夫约翰的奶牛们发现了在牧场的山脊上长着味道非常不错的三叶草。为了让这些三叶草得到灌溉,农夫约翰正在山脊上安装洒水器。 为了让安装流程得到简化,每一个洒水器必须沿着山脊进行安装(我们可以将山脊按成一个一维的长度为 ...
分类:
其他好文 时间:
2020-02-08 00:00:55
阅读次数:
89
题目描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大。 输入格式 第一行两个数n,m(n,msum[j2],那么j1可以直接抛弃,也就是在这个j的序列里,必须是单调递增的,所以我们可以用一个单调队列来维护这一关系 实现代码如下: ...
分类:
其他好文 时间:
2020-02-05 20:32:55
阅读次数:
82
这里专门放一些单调队列优化 DP 的题目,并加上简要解析。 Luogu P1725 琪露诺 易得转移方程为 $$f_i=\max_{j\,=\,\max(i-R,\;0)}^{i-L}f{_ j}+a_i\;(L \le i \le n)$$ 那么,其中 $\max$ 部分可以看成一段区间的最大值, ...
分类:
其他好文 时间:
2020-02-03 16:08:53
阅读次数:
76
优化形如$f_i=min/max(f_i,f_j+val_i)(l_i\leqslant j\leqslant r_i)$ 的$DP$方程 如 "瑰丽华尔兹" 中$DP$方程为$f_{i,j}=max(f_{i,j},f_{i dx_,j dy}+dis_{i,j,i dx_,j dy})$ $co ...
分类:
其他好文 时间:
2020-01-22 21:45:30
阅读次数:
45