说人话:

边双联通:

a到b的路径上无必经边

点双联通:

a到b的路径上除了a,b没有必经点

tarjan求点双联通:

代码(补图)

割点:

桥:

求点双:强制dfs时不越过割点,即可求出一个块

求边双:dfs时不越过桥

不是割点:减少2n-1

是割点:减少sigmai的大小*其他所有子树的大小

tarjan求桥,然后缩点,会形成一棵树。把树的所有叶子连起来用的边数就是答案

判断:

当且仅当无向图上不含奇环的时候就是二分图

增广路特点:非匹配边比匹配边多一条

寻找增广路:dfs

咕咕咕~

网络流:

最小割最大流定理:网络流的最大流就是整个图的最小割

dinic:类似匈牙利算法的思路,不断寻找当前最大流能加1的方案

直到不能再加

先dfs一遍,确定每个点到源点s的距离,

同时不断加边,维护当前流量

毒瘤操作:减少某条边的流量

所以就减反向边,边权为0,表示从终点到起点可扩充流量

二分图最大匹配怎么用网络流搞?

在左边建一个超级源点s,在右边建一个超级汇点t

s向每个左边的点建一个流量为1的边,右边的点向t建流量为1的边

二分图中间的点不停的寻找能加流量的路,能加就加,知道不能加

总之最大流就是最大匹配

二分图建图小技巧:

如果有x轴,y轴,且有一个坐标(x0,y0)

则就由x0向y0建一条边

国际象棋棋盘:黑白染色(黑的向白的建边)

就是最小覆盖qwq

因为消灭一行x0就是把x0那个点的所有连边都覆盖掉

消灭一列同理

所以打一次抢就相当于覆盖一撮边

最小顶点覆盖=最大匹配数

特别的,一个点也是一个路径

玄学转化二分图:

|v|是顶点个数

为什么上面说的是对的?

假设我们现在覆盖到了u,再从u选择一条出边,到了v,v就不用再来一条路径搞覆盖了。所以每多选一条边,答案就减1.

//图

但是每个点只能选出一条出边,一条入边。对于每个点,我们把它拆成两个,一个出点,一个入点。

所以就这么玄学的转化成了二分图

我们选的边在二分图上就是一个匹配

窝盟每选一条边,那么就有一个点不用再来一条路径进行覆盖了,也就是答案会在原来的基础上-1.所以我们要选出尽可能多的边来覆盖尽可能多的点,设覆盖的点最多为k,则答案就是n-k。

按照上述的转化方式,就是求转化后的二分图最大匹配 

建大约n2条边然后最小路径覆盖???

还真是啊.....

然后就搞完了

匈牙利算法说人话:

找到一个点v:v是非匹配点----->把这条边设为匹配边,再找非匹配边;

v是匹配点-------->走完这条匹配边,到了边的终点,然后再找非匹配边

今天莫得糖果,所以就分白砂糖好了,一人一堆慢慢数有几颗

裸的查分约束,少的向多的建边权为1的边

大于等于:边权为0,小的向大的建边

小于等于:边权为0,还是小的向大的建边

玄学建边方向判断:

现在有这样的一条边

跑最短路

dis[v]<=dis[u]+w

跑最长路:

dis[v]>=dis[u]+w

根据选择跑的路推一推就知道谁想谁建边辣

出现等于:连大于等于,小于等于

最短or最长?

迷惑行为大赏

跑最长路

why?因为要考虑所有的约束条件啊

看一张丑陋的图就知道为什么了

显然dis[3]是2不是1

出现正环就药丸

超级源点的d为0

ysq:论是账本伪造还是刁姹算错???

[l,r]的加起来=k,则xr-xl=k

我们可以处理出前缀和数组s[i],表示前i个数的和

这样就会有s[r]-s[l-1]=k的形式的约束条件

我们拆成s[r]-s[l-1]>=k和s[r]-s[l-1]<=k这两个

边权是k或-k

当然了这个前缀和数组也是充满了毒瘤

需要我们跑最短路维护前缀和

然后dfs找有没有负环

当然还有更为玄学的直接dfs

点的权值就是s[i]的值

弄好了s[i]之后直接看是否合法即可

爆......爆搜?!

仍旧是按照二分图建图的duliu建法,每次就相当于在某一个点的所有出边的边权+1或-1,然后限制就是(x,y)这条边的边权是c

于是我们考虑爆搜(当出现冲突的时候说明无解)

图论之点双&边双的更多相关文章

  1. ubuntu 双线双网卡双IP实现方式

    昨天金桥机房上架了一台多玩的测试机,系统是ubuntu9.04 X64的系统,母机IBM X336机器.用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联 ...

  2. Ubuntu实现双网卡双IP双待机

    Ubuntu实现双网卡双IP双待机 待机是借用了手机中的说法,其实是电脑上有两个网卡,一个无线,一个有线的.要实现无线访问外网Google Baidu查资料,有线网卡直接连接开发板.在Ubuntu上配 ...

  3. [Notepad++]Notepad++怎么实现双视图/双窗口?

    作为windows下非常优秀的开源代码编辑器,Notepad++是工程师必备代码编辑器.相比较之下,老一辈文本编辑器如ultraedit,editplus,就显得繁琐.冗余.疲惫.我使用过Notepa ...

  4. Linux双线双网卡双IP双网关设置方法

    机房上架了一台测试机,系统是Ubuntu 9.04 X64的系统,母机IBM X336机器.用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联通地址和电信 ...

  5. Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)

    之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192. ...

  6. Linux 双网卡双网段通信

    /********************************************************************************* * Linux 双网卡双网段通信 ...

  7. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  8. 高可用Mysql架构_Mycat集群部署(HAProxy + 两台Mycat+Mysql双主双从)

    既然大家都知道了Mysql分布式在大型网站架构中的作用,在这里就不再阐述.本片博客文章是基于我曾经搭建过的一个Mysql集群基础上实现的,实现过双主热备.读写分离.分库分表. 博客链接:http:// ...

  9. CentOS双网卡双IP设置

    CentOS双网卡双IP设置 系统环境:CentOS Linux 网络环境: 两个IP地址,192.168.0.10和10.10.30.2,掩码是255.255.255.0,这两个子网的网关地址分别是 ...

  10. windows2003服务器双线双IP双网卡设置方法

    双线双ip很好,网通用户访问网通线路,电信用户访问电信线路.但很多人会选用导入静态路由表,这个办法看似完美,其实问题很多. 1.电信用户如果被解析到网通的ip上,服务器根据路由表会返回电信线路,但用户 ...

随机推荐

  1. P1233木棍加工

    这个题被算法标签标为DP,但其实可能只是用dp求子序列,,(n方) 给出l与w,只要是l与w同时满足小于一个l与w,那么这个木棍不需要时间,反之需要1.看到这个题,首先想到了二维背包,然后发现没有最大 ...

  2. Qt 遍历不规则树的节点

    在使用Qt的GraphicsScene作图时,遇到类似这样的需求:在scene中创建节点类似下图, 现在我要把每个节点的txt保存到xml文件中,结构为 <?xml version='1.0' ...

  3. c语言中不允许在函数外部给全局变量赋值

    今天,在写条件编译的时候,出现了在函数外部给全局变量赋值的情况,gcc报错,那么c语言为什么不允许在函数外部给变量赋值呢?为什么声明变量的时候可以对变量进行赋值? 出错代码: /* 2 * ===== ...

  4. python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式

    # 字符串常用函数# 转大写print('bmw'.upper()) # BMW# 转小写print('BMW'.lower()) # bmw# 首字母大写print('how aae you ?'. ...

  5. CSS 属性小记

    1. 选择器的介绍 普通选择器 标签选择器:p{...} id选择器:#xiaoming{...} 类选择器:.class{...} 通用选择器: *{...}, 对所有的元素都有效 伪类选择器 Lo ...

  6. spark性能调优03-shuffle调优

    1.开启map端输出文件的合并机制 1.1 为什么要开启map端输出文件的合并机制 默认情况下,map端的每个task会为reduce端的每个task生成一个输出文件,reduce段的每个task拉取 ...

  7. Delphi中各个包中包含的控件

    经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能够移植到delphi7中来了呢?是不 ...

  8. 【源码解读】cycleGAN(一):网络

    源码地址:https://github.com/aitorzip/PyTorch-CycleGAN 如图所示,cycleGAN的网络结构包括两个生成器G(X->Y)和F(Y->X),两个判 ...

  9. java中的四种引用方式(强引用,软引用,弱引用,虚引用)

    java内存管理主要有内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java中对象的引用主要有四种:强引用,软引用,弱引用,虚引用. Java中提供这四种引 ...

  10. 对于springmvc 很奇妙的报404错误的记录

    @RequestMapping("/editItems") public ModelAndView editItems(Integer id) throws Exception { ...