![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 84
我也啥也不会
这个作者很懒,什么都没留下…
展开
-
单源最短(长)路之SPFA算法
练习题目:最长路 - 洛谷https://www.luogu.com.cn/problem/P1807求单源最短路问题,有dij和spfa两种解法,而spfa相较于dij优点在于其边权可以为负值,且可以用来判断正环与负环。因为很多题解写的都是单源最短路,那我就写一篇单源最长路(其实代码就几个符号的区别)。spfs算法的精髓在于,利用队列,如果一个数在队列中,那么该数对应的vis数组为1,否则为0;然后遍历基本上所有的出边,所以时间按复杂度还是比较高的,先上一段代码:void spf原创 2022-03-03 20:31:01 · 304 阅读 · 0 评论 -
树状数组及其应用
当我们需要用到数组来存放数据并对数据进行操作时,往往有这么几种数组形式:1.普通数组:修改操作:令 a[x]+=k ,时间复杂度O(1)询问操作:输出a[x]+a[x+1]+a[x+2]+…+a[y-1]+a[y] ,时间复杂度O(n)2.前缀和数组:查询操作:直接输出a[y] - a[x-1]就好了,时间复杂度O(1)修改操作:对于所有大于等于x的y,都要让a[y]+=k,时间复杂度O(n);综上我们发现,两种方法,要么修改极快,查询极慢,要么修改极慢,查询极..原创 2022-03-01 00:29:41 · 468 阅读 · 0 评论