思路: 1.按照题意求最小割 转换成最大流用Dinic解 2. 转换成对偶图 求最短路 Dinic: //By SiriusRen #include <queue> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 1100000 int n,m,first[N],next[N*6],v[N*6],w[N*6],tot,jy,ans…
原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1001 整理了下之前A的题 平面图可以转化成对偶图,然后(NlogN)的可以求出图的最小割(最大流) 算法合集有具体的讲解,有兴趣的可以在网上搜下或者向我要(QQ30056882) /************************************************************** Problem: User: BLADEVIL Language: Pascal…
原图的面转成点,原图的边依旧边,只是连接的是两个面. 对偶图的点数=原图的面数 对偶图的边数=原图的边数(如果原边只属于一个面,则它为环边) #include<bits/stdc++.h> using namespace std; , MAXM = ; int mindist[MAXN]; bool vis[MAXN]; ], nxt[MAXM << ], Head[MAXN], ed = ; ]; inline void addedge(int u, int v, int c)…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1001 平面图最小割可以转化成最短路问题: 建图时看清楚题目的 input ... 代码如下: #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; typedef long long ll; ,xm=8e6+; int n,…
题目链接: https://jzoj.net/senior/#main/show/6092 题目: 知识点--平面图转对偶图 在求最小割的时候,我们可以把平面图转为对偶图,用最短路来求最小割,这样会比dinic更快,但只是只用于网格图 网格图(平面图),即满足可以画在平面,且任意两条边的交点只能是边的顶点的图 性质:一个联通的平面图有$n$个点,$m$条边,$f$个面,那么有$f=m-n+2$ 对于一个平面图,我们可以找到它的对偶图.做法是把每一个分割出来的面作为一个个顶点,两个面之间存在边并且…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 算法讨论: 1.可以用最大流做,最大流等于最小割. 2.可以把这个图转化其对偶图,然后在对偶图上跑最短路即可. 一个平面图的最小割等价于其对偶图从S到T的最短路.并不是所有的图都有对偶图,平面图也有一定的要求,自己可以百度一下. 代码(用BZOJ的数据测过了,但是在BZOJ上过不去.爆WA,并不知道是为什么,里面有个特判,并不知道有没有用处.) #include <iostream…
题目大意 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的.而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为 (1, 1),右下角点为 (N, M) (上图中N=4, M=4).有以下三种类型的道路 1: (x, y) <==> (x+1, y) 2: (x, y) <==> (x, y+1) 3: (x, y) <==> (x+1, y+1) 道路上的权值表示这条路上…
以下均移自 周冬的<两极相通-浅析最大最小定理在信息学竞赛中的应用> 平面图性质 1.(欧拉公式)如果一个连通的平面图有n个点,m条边和f个面,那么f=m-n+2 2.每个平面图G都有一个与其对偶的平面图G* G*中的每个点对应G中的一个面 G*中的每个点对应G中的一个面 对于G中的每条边e e属于两个面f1.f2,加入边(f1*, f2*) e只属于一个面f,加入回边(f*, f*) 平面图G与其对偶图G*之间存在怎样的关系呢? G的面数等于G*的点数,G*的点数等于G的面数, G与G*边数…
这道题是求图的最小割,也就是用最大流.但因为边太多,最大流算法会T,因此不能用最大流算法. 因为这是个平面图,所以求平面图的最小割可以使用特殊的技巧就是求对偶图然后求对偶图的最短路.把每个面看成一个点f*,f*之间边的权值就是之前原来的点f之间与f*的边交叉的边的权值.(说的不清楚,大家可以看其他博客,讲得都很好) 这样建了一个对偶图G*,由此可见,对偶图G*的一条路对应着原图G的一个割.所以求G*的最短路就相当于求G的最小割. 以后遇到平面图求最小割就把它转化成对偶图再求最短路,这样时间效率会…
2007: [Noi2010]海拔 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2504  Solved: 1195 Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作一个 正方形,每一个区域也可看作一个正方形.从而,YT城市中包括(n+1)×(n+1)个交叉路口和2n×(n+1)条双向道路 (简称道路),每条双向道路连接主干道上两个相邻的交叉路口.下图为一张YT市的地…