今天考试像中了毒一样,第二题能A忘记换行,第一题编译错误(虽然成功了也没分...),又是小菜鸡成功爆0的一天。 总结一下今天的第三题 HNOI2009最小圈 二分+dfs版spfa判断负环 这道题自己做的时候压根没有想到用二分来实现。看到环直接想到了tarjan,还是太菜了。然鹅tarjan只能完成 ...
分类:
其他好文 时间:
2018-02-05 00:30:57
阅读次数:
176
spfa判断负环 给出T组数据,其中有一个n点m边的图,问每个数据是否存在负环。N,M,|w|≤200 000。 spfa如何判断负环呢?只要枚举每一个点,然后dfs/bfs更新即可,具体看代码。现在我要证明的是为什么它是正确的。 它的基本思想是:如果找到一个点x,能更新自己,那么就存在负环。然而有 ...
分类:
其他好文 时间:
2017-12-05 17:35:44
阅读次数:
104
1009 打卡 刷了DAY7的大部分难题选讲。 新学到有:01分数规划 哈夫曼树 容斥原理 不太懂的有:01分数规划的二分范围 精度要求 哈夫曼树(荷马史诗) 新的做题方法:dfs判断负环 ...
分类:
其他好文 时间:
2017-10-10 00:15:41
阅读次数:
104
题意: 给一个有向图,问这个图构成的所有的环中,平均权值最小是多少? 平均权值是,回路上权值和除以边数。 分析: 二分答案,让每条边减去二分的值,然后用Bellman-Ford算法,判断负环即可。 坑点: 如果判断出队次数,则要看是否大于n次,如果判断入队次数,则要看是否大于等于n次。 代码: ...
分类:
其他好文 时间:
2017-10-04 15:53:18
阅读次数:
106
https://vjudge.net/problem/LightOJ-1074 首先吐槽一个单词,directional是有方向的,undirectional是无向的,这个unidirectional是tm单向的。。。。好吧我又学会一个单词。 由于有负边权,用spfa好啦,判断负环时不要遇见就ret ...
分类:
其他好文 时间:
2017-08-14 20:06:12
阅读次数:
126
对于DIJ 如果边数远小于n^2,对此可以考虑用堆这种数据结构进行优化,取出最短路径的复杂度降为O(1);每次调整的复杂度降为O(elogn);e为该点的边数,所以复杂度降为O((m+n)logn) (V+E)log(V) 最短路应用 次短路,k短路,最短路径数量,判断负环 负权图(无正边,求最长路 ...
分类:
其他好文 时间:
2017-08-04 11:58:45
阅读次数:
130
转载地址 差分约束总结: 今天请教了DQS大神,算是对差分做一个系统性的总结吧,也算是对自己近期不完善理解的差分约束理一遍。 差分约束分为3大类,求最小,求最大,求是否满足约束条件,第三类求是否满足直接判断负环即可,一般都结合前两类来出题。 1:求最小。求最小一般是跑最长路,在已有约束条件下建立超级 ...
分类:
其他好文 时间:
2017-06-16 16:47:14
阅读次数:
111
传送门 差分约束系统。。找负环用spfa就行 ——代码 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #define N 100001 5 6 int n, m, cnt; 7 int head[N], to[N < ...
分类:
其他好文 时间:
2017-06-16 15:13:17
阅读次数:
202
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 题目大意:问你是否可以通过转换货币从中获利 如下面这组样例: USDollar 0.5 BritishPound BritishPound 10.0 FrenchFranc FrenchFranc ...
分类:
其他好文 时间:
2017-06-12 00:44:31
阅读次数:
273
题目链接:http://poj.org/problem?id=3259 题目就是问你能否回到原点而且时间还倒回去了。题目中有些路中有单向的虫洞能让时间回到过去 所以只要将虫洞这条边的权值赋为负然后再判断有没有负环就行了。 ...
分类:
其他好文 时间:
2017-03-07 23:01:12
阅读次数:
202