- 博客(4)
- 收藏
- 关注
原创 Floyd&Dijkstra
bitsetvis表示某个点是否走过(也可以用bool类型),按照Dijkstra的贪心思想,第一次走到的时候得到的距离一定是最短距离,所以一个点不可能走第二次。Dijkstra算法是一种高效的处理非负边权的“单源最短路”问题的算法,例如求出所有点距离源点1的距离,可以说Dijkstra是最重要的图论算法之一。d[k][i][j]表示路径(除去起点和终点)中编号最大的点编号≤k的情况下,点i到点j的最短距离。d[i][j]表示考虑到当前情况下,点i到点j的最短距离。d[i]表示点i距离源点的最短距离。
2024-03-25 22:28:12
359
原创 区间dp学习笔记
5.那么f[i][k]+f[k+1][j]+sum(i,k)+sum(k+1,j)就是先将[i,k]合并为一堆,再将[k+1,j]合并为一堆,最后将这两堆合并成[i,j]的最小花费。例如令f[i][j]为区间[l,r]的最大值,则f[i][j]=max{f[i][k]+f[k+1][j]+cost|l≤k<r}(这里是伪代码)令f[i][j]为区间[l,r]变成回文串的最小花费,如果s[l]=s[r],即当前串两端字符相同,那么f[l][r]=f[l+1][r-1]]变为回文串,再增加或删除E。
2024-03-21 17:14:37
956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人