1 #define IOS ios_base::sync_with_stdio(0); cin.tie(0); 2 #include <cstdio>//sprintf islower isupper 3 #include <cstdlib>//malloc exit strcat itoa sys... ...
分类:
其他好文 时间:
2019-10-26 10:52:25
阅读次数:
95
[CCPC2019秦皇岛E] Escape Link https://codeforces.com/gym/102361/problem/E Solution 观察到性质若干然后建图跑最大流即可。 我的 ISAP 被卡了,换成 Dinic 却过了。 cpp include using namespa ...
分类:
其他好文 时间:
2019-10-24 13:07:22
阅读次数:
87
这题是一个裸的网络流的题,但是本蒟蒻还是调试了半天2333.总是犯低级错误。 一开始我是用EK算法实现的。结果如下: 然后我又用Dinic算法实现了一下。 发现更慢了2333.我也不知道为啥,按道理Dinic应该比EK快的不知道到哪里去了才对。 下面是我的代码实现:EK算法: 下面是Dinic算法 ...
分类:
其他好文 时间:
2019-10-17 17:23:02
阅读次数:
64
题意简述:有一个$n\times m$的矩阵$a$,$[1, n\cdot m]$的整数恰好在其中出现一次。我们需要执行以下三次操作: 将$a$的每一行$m$个数任意变换顺序,得到矩阵$b$。 将$b$的每一列$n$个数任意变换顺序,得到矩阵$c$。 将$c$的每一行$m$个数任意变换顺序,得到矩阵 ...
分类:
编程语言 时间:
2019-10-15 10:06:26
阅读次数:
109
在dinic中,我们会发现,dfs中每条边都会遍历至少一遍,那么我们可以把一定不会用到的边删去吗? 答案是当然可以,这就用到了当前弧优化; 其实这个优化在很久很久以前学习欧拉回路的时候就接触到了; 每次增广一条路后可以看做“榨干”了这条路,既然榨干了就没有再增广的可能了。但如果每次都扫描这些“枯萎的 ...
分类:
其他好文 时间:
2019-09-29 14:26:38
阅读次数:
140
"Path" 参考: "[2019杭电多校第一场\][hdu6582]Path(最短路&&最小割)" 思路:这道题需要用到最短路和最小割。首先需要用最短路,找到最短的路径,然后再利用 这个条件,重新建图,在重新建的图当中,保证了所有的路径长度都是最短路,那么便可以进行最小割的操作,最小割即最大流,所 ...
分类:
其他好文 时间:
2019-09-14 19:26:59
阅读次数:
98
参考博客:http://blog.sina.com.cn/s/blog_95ec9e7401018bga.html https://www.cnblogs.com/owenyu/p/6858508.html 用Dinic实现的二分图匹配的时间复杂度其实是O(M*N^0.5),这也许能够解释为什么一般 ...
分类:
其他好文 时间:
2019-09-07 22:27:02
阅读次数:
96
题意:给定一个无向图,删除某些边有一定的代价,要求删掉使得最短路径减小,求最小代价。 分析:首先要spfa求出起点到各个点的最短距离。对于一条权值为w,起点为i,终点为j的边,设dis[k]为起点到k点的距离,若dis[j]=dis[i]+w,则将该边加入另一个图里,边的容量为删除这条边的代价,则从 ...
分类:
其他好文 时间:
2019-09-04 00:26:30
阅读次数:
110
(点击此处查看原题) Dinic算法 Dinic算法相对于EK算法,主要区别在于Dinic算法对图实现了分层,使得我们可以用一次bfs,一次dfs使得多条增广路得到增广 普通的Dinic算法已经可以处理绝大多数最大流(最小割)的题目了,但是总是有些题目会卡住普通的Dinic算法,此时我们就需要用到当 ...
分类:
其他好文 时间:
2019-08-20 20:25:01
阅读次数:
84