系列trick - 建图
对偶图
主体思想:平面图的割,等价于对偶图的路
网上有114514篇题解,这里不赘述
点变边
主体思想:点带点权,而要在点上实现一些在边上的问题,比如最小割点,将点 \(P\) 拆成 \(P_i\) 和 \(P_o\),在 \(P_i\) 和 \(P_o\) 之间连边 \(val_P\),即可转化成边权。
例题:[BJOI2016]水晶
枚举三个不合法的点,用这个 trick 做最小割点就可以了。
网络流 - 割意义
主体思想:“割”表示“不选”,用它来实现一些例如“必须同时选”,“不能怎么样选”的问题,通常是从反面用割维护不合法的,然后总和-割,得到答案。
经典例题:最大权闭合子图
你有一个图,在这个图中选择一个子图,使得子图中每一个点的出边连向的点也都包含在子图中,称这个子图为“闭合子图”
每个点带一个权,可能是负的。找到最大权闭合子图。
把正的接 \(S\),负的接 \(T\),边容量为点权绝对值。原图中的边直接连,容量为 \(INF\) (相当于禁止这条边被割掉)
用正权和-最小割,就是最大权闭合子图。
简单(而不严谨的)证明:
现在我们已证,割只会割 \(S,T\) 接的边。
首先明确什么叫“选了”。对于正权点,割了等价于不选;对于负权点,割了等价于选。原因就是建图的时候我们相当于对负权点的边权变相反数之后再加边,才导致正负有区别。
考虑割 \(S\) 中的边,用正权和-最小割之后,这个操作的意义相当于“不选某个正权点”
同理,割 \(T\) 中的边相当于,(此时我们不会割 \(S\) 中的对应边),选了 \(S\) 中的某些边,而以带上某些负权点问代价。
这显然是原问题的两种决策。接下来我们只需要证明,选出来的割边所对应的点集,一定是闭合权图,即可。
假设现在选了 \(u\),并且没选 \(u\) 的出边到达的点 \(v\)。考虑 \(4\) 种情况
- \(u+,v+\) :显然我们一定会选 \(v\),不会出现这个情况
- \(u+,v-\):没割 \(u\),没割 \(v\),此时 \(S\rightarrow u \rightarrow v\rightarrow T\) 是一条通路,与割的定义矛盾
- \(u-,v+\):显然一定会选 \(v\),不会出现这个情况
- \(u-,v-\):此时一定有一个正权点到 \(u\)的路,尽管 \(u\rightarrow T\) 断了,但是 \(u\rightarrow v\rightarrow T\) 仍然是通路,与割的定义矛盾。
综上,我们一定不会选一个非闭合子图出来。
再综上,我们一定会得到一个最大权闭合子图。
后记:这个trick,对割的基本定义要求理解深刻。
wwq:最基本的还在错,50遍
系列trick - 建图的更多相关文章
- SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图
摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...
- HDU 5669 线段树优化建图+分层图最短路
用线段树维护建图,即把用线段树把每个区间都标号了,Tree1中子节点有到达父节点的单向边,Tree2中父节点有到达子节点的单向边. 每次将源插入Tree1,汇插入Tree2,中间用临时节点相连.那么T ...
- HDU 4522 (恶心建图)
湫湫系列故事——过年回家 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- P5331 [SNOI2019]通信 [线段树优化建图+最小费用最大流]
这题真让人自闭-我EK费用流已经死了?- (去掉define int long long就过了) 我建的边害死我的 spfa 还是spfa已经死了? 按费用流的套路来 首先呢 把点 \(i\) 拆成两 ...
- 系列trick - bitmask
目录 系列trick - bitmask 拆位 位运算优化(点少的)图操作 位筛 系列trick - bitmask 拆位 主体思想:位之间不影响,把每一位拆开来考虑贡献,转化成非常容易考虑的 0/1 ...
- cartographer环境建立以及建图测试(详细级)
- 【BZOJ-1570】BlueMary的旅行 分层建图 + 最大流
1570: [JSOI2008]Blue Mary的旅行 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 388 Solved: 212[Submit ...
- 【BZOJ-4289】Tax 最短路 + 技巧建图
4289: PA2012 Tax Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 168 Solved: 69[Submit][Status][Dis ...
- CF467D Fedor and Essay 建图DFS
Codeforces Round #267 (Div. 2) CF#267D D - Fedor and Essay D. Fedor and Essay time limit per test ...
随机推荐
- Flowable学习入门
一.Flowable简介 1.Flowable是什么 Flowable是一个使用Java编写的轻量级业务流程引擎.Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标 ...
- Java学习日报7.31
package bank;import java.util.*;public class Bank { private Scanner sc=new Scanner(System.in); priva ...
- Java学习日报7.14
package fabs;import java.util.Scanner;public class Fabs { public static void main(String args[]) { S ...
- MySQL索引优化,explain详细讲解
前言:这篇文章主要讲 explain 如何使用,还有 explain 各种参数概念,之后会讲优化 一.Explain 用法 模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理 ...
- 解决npm ERR!
一:[Unexpected end of JSON input while parsing near]报错 最近的vue项目中在执行 npm install 时会报错误: npm ERR! Unexp ...
- 对象的克隆(clone方法)
1.深拷贝与浅拷贝 浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象.深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象. 2.深拷贝和浅拷贝的 ...
- 强化学习入门基础-马尔可夫决策过程(MDP)
作者:YJLAugus 博客: https://www.cnblogs.com/yjlaugus 项目地址:https://github.com/YJLAugus/Reinforcement-Lear ...
- Linux目录的慨念
1.路径 对文件进行访问时,要用到"路径"(Path)的慨念. 顾名思义,路径是指从树型目录中的某个目录层次到某个文件的一条道路. 此路径的主要构成是目录名称,中间用"/ ...
- 「译」 .NET 5 新增的Http, Sockets, DNS 和 TLS 遥测
.NET 一直在稳定的增加和改善对应用程序进行跨平台的诊断分析,在.NET Core 3.0, 我们看到了 EventCounters 的介绍,用于观察和分析指标测量. 我最近在几个 .NET Cor ...
- PyCharm 2019、2020、2021专业版激活
PyCharm下载地址:https://www.jetbrains.com/pycharm/download/ PyCharm社区版功能基本够用,但是作为傲娇的程序员,咱都是上来就专业版,然后各种破解 ...