裸题,就是存个模板 最小费用流是用spfa求解的,目的是方便求解负环,spfa类似于最大流中的bfs过程 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #inc ...
分类:
其他好文 时间:
2017-11-08 00:48:48
阅读次数:
203
While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path tha ...
分类:
其他好文 时间:
2017-11-05 10:20:43
阅读次数:
204
题意:给出 n 个点 m 条有向边,要求选出一个环,使得这上面 点权和/边权和 最大。 析:同样转成是01分数规划的形式,F / L 要这个值最大,也就是 G(r) = F - L * r 这个值为0时,r 的值,然后对于 F > 0,很明显是 r 太小,但是不好判断,把这个值取反,这样的话就能用B ...
分类:
其他好文 时间:
2017-10-30 19:53:24
阅读次数:
219
Dijkstra算法可使用的前提:不存在负圈。 负圈:负圈又称负环,就是说一个全部由负权的边组成的环,这样的话不存在最短路,因为每在环中转一圈路径总长就会边小。 算法描述: 1.找到最短距离已确定的顶点,从它出发更新相邻顶点的最短距离。 2.以后不需要再关心1中的“最短距离已确定的顶点”。 C++代 ...
分类:
编程语言 时间:
2017-10-23 00:55:03
阅读次数:
398
Floyd算法适用于求解全源最短路、也就是能够求解任意两点间的最短路径并且是适用于含有负权边的图,但是含有负环则不行了!空间复杂度为O(n2)、时间复杂度为O(n3)。其具体的原理在百度能够找到很多,下面只说说我的理解,首先关键代码如下 即枚举所有的点去作为中转点去松弛 i 和 j ,那考虑这样的一 ...
分类:
其他好文 时间:
2017-10-20 21:32:56
阅读次数:
267
Bellman-ford 算法适用于含有负权边的最短路求解,复杂度是O( VE ),其原理是依次对每条边进行松弛操作,重复这个操作E-1次后则一定得到最短路,如果还能继续松弛,则有负环。这是因为最长的没有环路的路,也只不过是V个点E-1条边构成的,所以松弛E-1次一定能得到最短路。因此这个算法相比 ...
分类:
编程语言 时间:
2017-10-19 00:18:05
阅读次数:
339
虫洞(wormhole) FJ 在农场上闲逛时,发现他的农场里有很多虫洞。虫洞是一条特殊的有向路径,当 FJ 从它的一头走到另一头后,他将被传送到过去的某个时刻。FJ 的每个农场包括 N(1<=N<=500)块按1..N 编号的草地、M(1<=M<=2500)条草地间的道路以及W(1<=W<=200 ...
分类:
其他好文 时间:
2017-10-16 00:16:08
阅读次数:
169
题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) ...
分类:
其他好文 时间:
2017-10-11 11:17:14
阅读次数:
217
问题描述 John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个农场有M条小路(无向边)连接着N (从1..N标号)块地,并有W个虫洞。其中1<=N<=500,1<=M<=2500,1<=W<=200。 现在J ...
分类:
其他好文 时间:
2017-10-11 11:10:41
阅读次数:
112
1009 打卡 刷了DAY7的大部分难题选讲。 新学到有:01分数规划 哈夫曼树 容斥原理 不太懂的有:01分数规划的二分范围 精度要求 哈夫曼树(荷马史诗) 新的做题方法:dfs判断负环 ...
分类:
其他好文 时间:
2017-10-10 00:15:41
阅读次数:
104