判下连通,离线下来连边,就是个裸的板子了QvQ。 我们把一堆边连到一个点,那个点连到一堆边,这样就可以满足 [l1,r1] to [l2,r2] 了 可以用 zkw 线段树来跑 spfa,奇怪的姿势增加了。 ...
分类:
其他好文 时间:
2020-05-02 18:47:50
阅读次数:
47
题目: 题意: 题目说的简洁明了,有两种路,一种没负数,一种没环,求单元最短路。 分析: spfa随便优化(双端队列)一下水过。。。 当然这好像并不是正解。。。 其实看到这一题,相信大家都能想到类似缩点的做法,有很明显的暗示,所有我们直接考虑将双向边所连的点缩成一个,然后就是个有向无环图,然后再跑非 ...
分类:
其他好文 时间:
2020-04-30 09:41:42
阅读次数:
45
题意:T个点R种双向边,P种单向边,求点S到每个点的最短距离 分析:(这再看不出来是spfa就该**了) 首先,这题能否用spfa就看他是否有负环呗,显然,双向边的权值非负,单向边还有个啥政策,总之显然是没有负环了 那么直接跑裸的spfa 没想到竟然t了 难不成spfa还有优化? 我带着怀疑的心情上 ...
分类:
其他好文 时间:
2020-04-29 01:02:11
阅读次数:
43
1 //A vector不T 2 // 最短路 SPFA 3 // in数组 4 5 #include<cstdio> 6 #include<cstdlib> 7 #include<cstring> 8 #include<cmath> 9 #include<algorithm> 10 #includ ...
分类:
其他好文 时间:
2020-04-26 13:56:55
阅读次数:
47
这个题牛逼里很呐!!! 题目大意:无非就三个条件: 条件1 :第一行从2到n相加为1 条件2 :第n列从第一行到倒数第二行的数相加为1 条件3:除了第一列和第一行还有第n列和第n行的和没有要求外,其余第i行相加要等于第i列相加。 题目要求最小的ΣCij * X ij(1 <= i,j <= n) 我 ...
分类:
其他好文 时间:
2020-04-25 19:14:01
阅读次数:
81
首先了解一下各种图论适合的问题 https://www.cnblogs.com/thousfeet/p/9229395.html 这篇适合看Bellman-Ford算法 https://www.cnblogs.com/konjak/p/6031773.html SPFA算法 https://www. ...
分类:
其他好文 时间:
2020-04-23 09:14:06
阅读次数:
69
A*是一种搜索算法,一般基于一个估价函数f(x) = g(x) + h(x),通过这个函数来进行有方向的搜索以提高搜索的效率(而不是bfs、dfs那样的盲目搜索)其中g(x)指从初始状态到当前状态的花费,h(x)为当前状态到终状态的最小花费,以两者之和来估计起始状态到终状态的总花费f(x)在A*算法 ...
分类:
编程语言 时间:
2020-04-22 10:23:20
阅读次数:
79
#include <cstdio> #include <cmath> #include <cstring> #include <queue> #include <iostream> #include <algorithm> using namespace std; int h[50001],ne[5 ...
分类:
其他好文 时间:
2020-04-18 20:10:11
阅读次数:
64
题意:给出一个图,给出这个图要走多少次(一天一次) 给出每一个点在哪一次(天)不能用 给出每一次改变路径的花费 让我们求走n次(天)的最小花费 思路:dp+最短路 状态转移方程为:dp[i]=mn(dp[i],dp[j]+k+tmp2[j+1][i]*(i-j)); 于是,我们需要求出每一个tmp2 ...
分类:
其他好文 时间:
2020-04-18 11:32:47
阅读次数:
72
首先看到这道题目,我们发现这道题目的复杂度,首先确定了是O(nlogn)O(nlogn)级别的,所以说,我们的算法初步确定在dijskra和SPFA上面. 但是我们发现这道题目一个关键点,就是题目中出现了负权边. 一旦出现了负权边,那么我们只能使用SPFA。 关于SPFA优化https://www. ...