首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
bzoj2965
】的更多相关文章
bzoj2965
http://www.lydsy.com/JudgeOnline/problem.php?id=2965 http://www.tsinsen.com/A1385 平面图网络流. 首先我们要将平面图转化成对偶图. 将每条无向边拆成两个向量,从一条未访问过的向量开始,找到逆时针方向上第一个向量,然后继续访问,直到形成环,这样就找到了一条轮廓线,且内部在向量的右边. 如图从为访问过的边1->8开始,找到8->7,然后继续找到7->1,形成了环,这样找到了一条轮廓线.内部在1->8,8-…
BZOJ2965 : 保护古迹
首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边. 然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边. 根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域. 然后再进行一次扫描线,找到一个点上方最低的边,即可完成点定位. 时间复杂度$O(m\log m)$. 求出对偶图之后,暴力枚举所有必须保护的古迹,建图求最小割即可. #include<cstdio> #include<cmat…