随笔分类 - 图论
摘要:update1:通过了 【模板】网络最大流 的验证。 update2:怎么求出最大流各条边的流量?将原图备份,dinic()后得到残余网络,用原图的流量减去残余网络的剩余流量。 标准模板: cpp include using namespace std; typedef long long ll; 
        阅读全文
                
                    posted @ 2019-04-14 17:47  
韵意
    
                
            
摘要:二分图最大独立集 注意输入的时候控制x1,y1,x2,y2的相对大小. cpp include using namespace std; define ll long long / dinic begin / const int MAXN=5000; const int MAXM=120000; /
        阅读全文
                
                    posted @ 2019-04-13 09:45  
韵意
    
                
            
摘要:写的第一道黑色题,图建对了. 隐约觉得互相攻击要连边,规定从奇数行流向偶数行. 二分图最大独立集=二分图顶点总数 二分图最大匹配 因为把最大匹配d从顶点总数n中去掉,有n 2d个点. 从被去掉的点中,每个匹配重新加一个回来,加了d个. 所求为n d. 估计顶点上限,40000+2 然后每个顶点最多连
        阅读全文
                
                    posted @ 2019-04-13 01:53  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P1434 有向图的最长链怎么求?有环肯定不行,这里保证无环。(否则应该使用toposort先求出所有不带环的位置) 设dp[u]=以u点开始的最长链的长度,那么以u为子节点的v就有dp[v]=max(dp[v],dp[u]
        阅读全文
                
                    posted @ 2019-04-05 16:29  
韵意
    
                
            
摘要:注意网络流的边的上限是两倍,因为要有反向边。 注意最后传入的n在最新版本中一般传入t(假如t是最后一个节点的话,或者不传入)就可以了。 使用前要先init(),再添加addedge()。
        阅读全文
                
                    posted @ 2019-04-02 11:52  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P2805 最大权闭合子图的特点是,假如你要选一个结点,则要先选中它的所有子节点。正权连S负权连T,容量为绝对值,原图有向边连容量INF。 这里的特点是在于假如这些结点形成了回路,那么不能选中其中任何一个因为没有突破口。 至
        阅读全文
                
                    posted @ 2019-04-01 23:12  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/solution/P2762 最小割对应的点,在最后一次更新中dinic的bfs会把他的dep重置掉。所以可以根据这个性质复原最小割。
        阅读全文
                
                    posted @ 2019-03-30 00:32  
韵意
    
                
            
摘要:原来这种题的解法是费用流。 从一个方格的左上走到右下,最多走k次,每个数最多拿走一次。 每次走动的流量设为1,起始点拆点成限制流量k。 每个点拆成两条路,一条路限制流量1,费用为价值相反数。另一条路无限流量。 跑一遍费用流。
        阅读全文
                
                    posted @ 2019-03-29 22:36  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P2774 把两个相邻的节点连边,这些边就是要方便最小割割断其他边存在的,容量无穷。 这种类似的问题的话,把二分图的一部分(黑点)连S,容量为其价值,另一部分(白点)连T,容量也是其价值。 因为上面的边存在我们在最小割的时候
        阅读全文
                
                    posted @ 2019-03-29 21:16  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P2055 这是一个错误的示范。 一开始觉得就找一条路从外校同学连到本校同学然后最终从周末回家的同学流出,每个人睡后一个人的床就可以了。 首先我没有考虑人不能分身,导致可能会有两条路经过同一个同学。 然后我把这个同学拆点限制
        阅读全文
                
                    posted @ 2019-03-29 12:13  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P4452 又一道看题解的费用流。 注意时间也影响节点,像题解那样建边就少很多了。
        阅读全文
                
                    posted @ 2019-03-29 09:48  
韵意
    
                
            
摘要:第一次做最小割,不是很理解。 https://www.luogu.org/problemnew/show/P1361 要把东西分进两类里,好像可以应用最小割的模板,其中一类A作为源点,另一类B作为汇点,价值就是边的容量。 然后最小割一定会割断每个中间结点的两边的其中一边,这样最大价值就顺带求出来了。
        阅读全文
                
                    posted @ 2019-03-28 23:33  
韵意
    
                
            
摘要:https://scut.online/p/48 一道二分图匹配,跑费用流就可以过了(其实最大流都可以了)。 洛谷上的居然要求出是哪些边。 那就根据自己丰富的编程经验瞎搞一发。
        阅读全文
                
                    posted @ 2019-03-28 22:46  
韵意
    
                
            
摘要:第一次用Markdown编辑器写博文呢。 单源最短路的模板,链式前向星写法。 非负权的单源最短路Dijkstra算法。 Dijkstra cpp include using namespace std; const int INF=0x3f3f3f3f; / begin 链式前向星 / const 
        阅读全文
                
                    posted @ 2019-03-21 22:41  
韵意
    
                
            
摘要:抄自:https://www.cnblogs.com/nietzsche-oier/p/8185805.html 1.有上下界无源点汇点的可行流问题: 在本文中指: 原图中没有任何一个点可以凭空产生流量,亦没有任何一个点可以凭空消灭流量; 存在边既有流量上界又有流量下界; 求每条边流量的一组可行解;
        阅读全文
                
                    posted @ 2019-03-14 21:52  
韵意
    
                
            
摘要:令 $f[i][j]$ 表示 $i$ 的 $2^j$ 辈祖先, $f[i][0]$ 就表示 $i$ 的父节点。 可以得到状态转移方程 $f[i][j]=f[f[i][j-1]][j-1]$ 。当没有 $2^j$ 辈祖先时 $f[i][j]=0$ 一遍 DFS 计算即可 查询 先往上2进制跳到同深度,
        阅读全文
                
                    posted @ 2019-03-04 20:13  
韵意
    
                
            

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号