随笔分类 - 图论---网络流
摘要:前言 话说有上下界的网络流好像全机房就我一个人会~~手动滑稽,当然这是不可能的~~ Solution 其实这道题目就是一道板子题,主要讲解一下怎么做无源无汇的上下界最大流: 算法步骤 1.将每条边转换成0~up down。 但是,我们发现转换的时候不能保证一定是流量守恒。 2.可以把一条边的起点都减
阅读全文
摘要:前言 ~~其实我只是为了把网络流的总结放在一起的~~(你信吗) 二分图最大匹配 匈牙利 1. 对于左边的枚举每一次选的左边的人 2. 对于右边与他有连边的那么就是能换则换,不然就不换 3. 最后统计出来的可行的就是ans 最大流 随便搞一下不就可以了吗? 二分图完美匹配 我们令左边的点(其实二分
阅读全文
摘要:前言 突然发现自己在图论①被dalao吊着打。。。 Solution 看到数据范围1000,感觉可以直接枚举连边,然后新建两个点就好了。 注意要拆点,不然可能会死循环~~(过来人)~~ 代码实现 cpp include include include include include include
阅读全文
摘要:前言 网络流的练习为什么我又排在最后啊!!! Solution 我们先来挖掘一个式子: $$ ab+cd ad+bc(a include include include include include include include include using namespace std; defi
阅读全文
摘要:前言 为什么随机跳题会跳到这种题目啊? Solution 我们发现可以把这个东西分情况讨论: 1.这个点没有加倍 这一段相同的可以看成一个点,然后后面的都可以。 这一段看成一个点,然后前面的不能对他造成影响的都可以。 2.这个点加倍了 这一段相同的看做一个点,然后前面的都可以 这一段相同的看成一个点
阅读全文
摘要:前言 网络流24题还是要写一下。 Solution 我们先来研究一下这个题目是个什么东西: 每一个点有可能比平均数多,也有可能少,然后你就发现相当于是我们建了两个超级源点和超级汇点,然后从这两个点去分和流入。 然后对于这个环就可以直接建环(注意建边的时候的一些细节操作) 跑一边费用流就好了。 cpp
阅读全文
摘要:前言 Q:为什么突然想搞网络流? A:迫于~~Tham_蛤mu~~的~~淫威~~ 算法过程 1. 用最短路算法求出s t的路径(把路径要抠出来,而且每条边要有容量) 2. 算一下路径里面的可以流过的最大的流量 3. 发现此时的花费就是distFlow,累加即可. 4. 重复1 3直到不能够到
阅读全文
摘要:前言 突然发现到了新的一年什么东西好像就都不会了~~凉凉~~ 算法步骤 1. 建残量网络图 2. 在残量网络图上跑增广路 3. 重复1直到没有增广路(注意一个残量网络图要尽量把价值都用完,不然会浪费建图的时间) 代码实现 cpp include include include include inc
阅读全文
摘要:前言 网络流24题还是要做完吧! 题解 这是一道模板题,这里主要讲一下怎么匈牙利二分图匹配: 1. 对于左边的枚举每一次选的左边的人 2. 对于右边与他有连边的那么就是能换则换,不然就不换 3. 最后统计出来的就是ans 差不多就是这样子了吧。 cpp include include inclu
阅读全文