平面图转对偶图的应用

网格图网络流 —— 平面图转对偶图 对偶图 一个图的对偶图如下: 黑点为原图,红点为对偶图 平面图每一个面是对偶图的每一个点 平面图中面与面的割线是对偶图的边 若平面图中某一条边只属于一个面,那么在对偶图中就是一个环边 平面图周围无边界的面也是对偶图中的一个点 网格图网络流 如图,要求 (1,1)(1, 1)(1,1) 到 (n,m)(n, m)(n,m) 的最小割 一条割边相当于一条杠,在网格图网络流中,源点和汇点不连通后,这些杠是连续的 因此,就可以在割线上跑最短路,边权即为原图的权值 然后要设最短路的源点和汇点,这里我们要使得左上 阅读详情

平面图转对偶图

[BeiJing2006]狼抓兔子

这个是经典题,显然就是求一个最小割。然后网络流建立无向图即可。

但是如果数据范围没有那么小呢?

众所周知网络流的复杂度其实挺玄学的,而且这又是一张平面图,不妨将其转化为对偶图。


定义:

平面图:任意两条边不相交的图。

面的次数:边界的长度,用 d e g ( R i ) deg(R_i) deg(Ri​) 表示。

阶:几阶就是几个点。

对偶图:本质上就是从平面图的面相互连边。

性质:

1:平面图的面数量等于对偶图点数量,对偶图面数量等于平面图点数量。

2:对偶图一个面的度数是围绕其一周走的边数。

hlTiYF.png

显然这张图中间这个面由 7 7 7 条边围成,所以其度数是 7 7 7。

极大平面图:如果 G G G 是简单平面图,而且任意两个点之间加一条新编所得到的图为非平面图,则 G G G 是极大平面图。

  • 必定联通
  • 任意阶数 ≥ 3 \ge 3 ≥3 的极大平面图中不可能存在割点和桥。

其实后面还有很多定理,就稍微放一下,之后有能力了再补。


两种图互相转换本质上就是讲两个面进行连边而已。

为了方便我们需要将整个网格图划分成两半分别属于 S , T S, T S,T。之后只需要跑 S → T S \to T S→T 的最短路即可。

注意:

至于连边方面,如果是无向边那显然没事。如果是有向边考虑顺时针旋转 90 90 90 度,这个是以右上角为 S S S 的情况。

对于一个面我们不妨钦定一个表示法,对于普通的网格图可以使用左上角。

但是像这种图,我们不妨考虑是最上角点的编号 × 2 \times 2 ×2,然后根据最后一位是否为 1 1 1 来区分一个 4 4 4 联通块中的两个面。

本题的代码:

#include <bits/stdc++.h>
using namespace std;

//#define Fread
//#define Getmod

#ifdef Fread
char buf[1 << 21], *iS, *iT;
#define gc() (iS == iT ? (iT = (iS = buf) + fread (buf, 1, 1 << 21, stdin), (iS == iT ? EOF : *iS ++)) : *iS ++)
#define getchar gc
#endif // Fread

template <typename T>
void r1(T &x) {
   
   
	x = 0;
	char c(getchar());
	int f(1);
	for(; c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;
	for(; '0' <= c && c <= '9';c = getchar()) x = (x * 10) + (c ^ 48);
	x *= f;
}

template <typename T,typename... Args> inline void r1(T& t, Args&... args) {
   
   
    r1(t);  r1(args...);
}

//#define int long long
const int maxn = 2e6 + 5;
const int maxm = 1e3 + 5;

int head[maxn], cnt;
struct Edge
网络流(三) 最小割 平面图转对偶图 嗯,将两个放在一起的原因…只是因为单另分开篇幅不够罢。 绝对不是因为例题只有BZOJ1001什么的最小割最大流定理搜了一圈没有找到什么是最小割,然后懵逼了。 嗯…… 首先,什么是割?其实,割=割边=去掉以后使图不连通的边的集合 然后,容量和最少的割集称为最小割。 对于割,有这样一个重要定理: 最小割=最大流 嗯,最小割就这么多东西。 为什么正确?这里给出一种直观的想法 (原PO:h 阅读详情

相关推荐

一文搞懂深度学习:最全神经网络介绍

本文是深度学习系列文章的第二篇,我们将深入探讨各种类型的人工神经网络,探索它们独特的特性和应用。

2402_82802238的博客 2801

FPGA时钟架构解密:从SRCC/MRCC到全局时钟树的实战指南

本文深入解析Xilinx 7系列FPGA时钟架构,从SRCC/MRCC引脚特性到全局时钟树设计,详细介绍了BUFG、BUFMR等关键组件的应用场景和优化策略。通过对比SRCC与MRCC的驱动范围及适用场景,提供低抖动时钟布线技巧和时钟域交叉(CDC)设计方法,帮助工程师构建高性能FPGA时钟系统。

weixin_29191081的博客 1484

深入理解HTTPS:从SSLHandshakeException到证书链验证的完整解析

本文深入解析了HTTPS握手过程中常见的SSLHandshakeException异常,特别是由证书链验证失败引发的CertPathValidatorException。文章从TLS握手流程、证书链验证的数学原理出发,详细剖析了Java中TrustManager的工作机制,并提供了针对证书链不完整、自签名证书等典型问题的系统化排查流程与实战解决方案。

weixin_29313423的博客 231

BDD测试之Behave使用入门

BDD测试(Behavior-Driven Development Testing)是一种基于“行为驱动开发”(BDD)理念。

想要成为酷盖但是失败的小明 580

【2023年】云计算比赛——金砖挑战赛正式题

文章摘要 本文详细记录了OpenStack私有云平台与Kubernetes容器云平台的部署与运维过程,涵盖环境初始化、组件安装、服务配置及自动化运维等关键任务。主要内容包括: OpenStack部署 环境初始化(主机名、Yum源、FTP服务等) 核心组件安装(Keystone、Glance、Nova、Neutron等) 运维任务(安全组管理、镜像上传、存储服务配置等) Kubernetes集群搭建 节点配置(时间同步、免密登录) 容器运行时(Docker)与网络插件(Flannel)部署 Harbor私有仓

geekgold的博客 313

Jetson Thor平台JP7.0版本96712 GMSL相机驱动调试记录

摘要:本文档记录了在Thor Custom Board (JP7.0GA)上配置GMSL摄像头时遇到的视频流问题及调试过程。问题表现为视频设备(/dev/video11)能正常创建,但获取视频时出现"Internal data stream error",而相同配置在AGX Orin JP6.0上运行正常。通过梳理硬件拓扑、v4l2-ctl测试、提升时钟频率及分析内核日志,发现VI引擎未接收到帧数据包。调试步骤包括检查设备树冲突、调整I2C总线配置、修正通道名称,最终通过屏蔽传感器启动时

jzwjzw19900922的博客 1111

以宠辱之戒写 SAP Fiori Elements,把标准能力当成身体,把扩展冲动当成大患

SAP Fiori Elements开发中常面临业务方追求"独特页面"的压力,但过度自定义会破坏框架价值。老子"宠辱若惊"的智慧提醒开发者:不应因用户称赞或批评而动摇架构原则。标准模板的价值在于确保业务语义、交互规范和后端服务的一致性。扩展应遵循官方API,将业务逻辑放在ABAP/CDS层而非前端控制器。成熟项目会平衡标准与定制,使用annotation表达UI行为,仅在必要时通过受支持的extension points进行增强,保持系统的长期可维护性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 999

基于simulink的预测电流控制策略的三相逆变器仿真

本文详细介绍了在Simulink中实现基于预测电流控制策略的三相逆变器仿真方法。主要内容包括:准备工作(安装必要软件及工具箱)、构建三相逆变器基础模型、设计预测电流控制器(包含状态空间建模和控制器设计)、实现控制逻辑、添加示波器观察输出、配置仿真参数以及运行仿真分析结果。通过MATLAB代码示例和Simulink模块说明,展示了如何选择最优开关状态来最小化电流误差。该仿真方法为研究快速响应、高精度的逆变器控制提供了实用工具,但需注意实际应用中可能需要的调试工作。

amy_mhd的博客 276

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: CF756F 题解
下一篇: CF1446D2 题解
sharp_legendgod
博客等级 码龄7年 8粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值