首页 > 其他分享 >77th 2023/10/18 网络流总结

77th 2023/10/18 网络流总结

时间:2023-10-25 20:11:38浏览次数:32  
标签:10 两半 增广 18 77th 源点 流量 分层 反向

最大流

我选择dinic算法

总体思路就是先跑bfs分层,找出一条增广路并增广

有一个大思路,就是反悔边,流一条边不一定是最优的,所以要建一条反向边,流过该边,将它的流量减少的同时,将它的反向边流量加大,这样就相当于给了一个流回去的机会,好理解吧

就是如此,tot记得赋值为1,反向边为\(x\otimes1\)很方便处理

费用流学习

在学了最大流的基础上,学习费用流是很简单的

费用流就是把dinic的分层改为跑spfa分层,但因为最短(长)路不同于增广路,就可能会有许多条或者有负环,在dfs增广时应当判是否走过该点

好理解的,记录

实战

记录几条

  1. 找到流动的量,该量可以形式化为网络流的流量并带入网络中
  2. 源点流量为\(\infty\),因而如果要传递一个固定量,从源点到该点连边是个好选择
  3. 认真思考每个量的意义,要不要化为费用流,要不要把一个点分成两半处理
  4. 两半的目的:两半意义相连,且有时候有必要区分,如上半有流量流到下班且前面的点有流到下班的情况

标签:10,两半,增广,18,77th,源点,流量,分层,反向
From: https://www.cnblogs.com/tlz-place/p/17788023.html

相关文章

  • P5156 [USACO18DEC] Sort It Out P 题解
    题意有一个长度为\(n\)的排列\(a_1,a_2,\cdots,a_n\),选出\(\{1,2,\cdots,n\}\)的一个子集,对这个子集中的数依次进行如下操作:设当前数为\(v\),则若\(a_v\)大于\(a_{v+1}\)(如果有的话),就交换。如果小于,则若\(a_v<a_{v-1}\)(如果有的话),就交换。重复上述操作知道\(a_{v-1}<......
  • CF1875
    AJellyfishandUndertale这个直接顺着选就好了,能过#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintmaxn=105;intx[maxn];intt; inta,b,n;signedmain(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>t;......
  • centos 6.10 安装 svn
    centos6.10安装svn1.14.2安装apr和apr-util下载地址我下载的分别是apr-1.7.4和apr-unit-1.6.3常规的安装步骤./configure--prefix=/usr/local/xxxmake&&makeinstall注意要先安装apr再安装apr-unit-1.6.3安装lz4下载地址安装utr8proc下载地址安装s......
  • 影视泛目录站群程序:根据关键词产生10组相关词+电影名/电影简介/电影图片匹配,关键词转
    大家好,今天我要分享的是一款影视泛目录站群程序,它可以根据关键词产生10组相关词,帮助你快速构建一个影视站群。首先,我们需要准备一些关键词,比如说电影名、电影简介、电影图片等。然后,我们进入这款程序,输入关键词,就可以看到相关关键词列表。这些关键词分为两部分,一部分是电影名,一部......
  • centos 6.10 安装 tcmalloc
    centos6.10安装tcmalloc安装libunwind-1.6.2下载地址解压文件cdlibunwind-1.6.2./configuremake&&makeinstall另一种方式从github上下载的项目,在执行autoreconf-i时一直报错,libtool未定义,要先在当前目录执行libtoolize,再执行autoreconf-i就可以执行......
  • 要求写一个method方法实现:打印出 a=100, b=200
    分享一个有趣的Java题importjava.io.PrintStream;//要求写一个method方法实现:打印出a=100,b=200publicclassmethodTest{publicstaticvoidmain(String[]args){inta=10;intb=10;method(a,b);System.out.println("a......
  • Java基础20问(6-10)
    6.Java接口和抽象类的区别?不同点1.接口在Java8之前不能写方法实现逻辑,Java8及以后的版本,可以用default关键字写方法的实现。2.接口中方法都是public的,public可以省略,而抽象类没有这个限制。3.接口用interface关键字,抽象类用abstractclass来声明。相同点:接口和抽象类都不能直接new......
  • 《动手学深度学习 Pytorch版》 10.4 Bahdanau注意力
    10.4.1模型Bahdanau等人提出了一个没有严格单向对齐限制的可微注意力模型。在预测词元时,如果不是所有输入词元都相关,模型将仅对齐(或参与)输入序列中与当前预测相关的部分。这是通过将上下文变量视为注意力集中的输出来实现的。新的基于注意力的模型与9.7节中的模型相同,只不过......
  • 18_rust的错误处理
    错误处理不可恢复的错误与panic!宏rust语言的错误处理:rust语言具有较高的可靠性,有完备的错误处理机制,大部分情况下,能在编译是提示错误,并处理完错误。rust没有类似异常处理的机制错误的分类:可恢复错误:使用Result<T,E>机制,如文件未找到,可再次尝试。不可恢复:bug,使用panic!......
  • CF1884D
    传送门description给定长度为\(n\)的数组\(c\)。求公因数都不在数组里的有序元素对\((c_i,c_j),i<j\)的个数。\(n\leq10^6\),值域\(n\)solution不妨先计算存在公因数且是无序对且允许\(i=j\)的个数,最后容斥一下。设数组里有\(a_i\)个\(i\),\(b_i\)表示\(i\)的......