
图论
Togt
这个作者很懒,什么都没留下…
展开
-
tarjan学习以及模板总结
tarjan无向图割点:删掉某点后的联通块增加 桥:删掉某边后的联通快增加 点双联通图:删除某点后依然联通的图(或者没有割点的图) 边双联通图:删除某边后依然联通的图(或者没有桥的图) 双联通分量:点或者边的极大双联通分量 缩点:将一个联通分量等价成一个点有向图强连通:在有向图中如果两点间至少存在一条路径,则称两个顶点强连通 强连通图:任意两点都强联通的图 强...原创 2018-05-20 00:46:10 · 161 阅读 · 0 评论 -
欧拉回路
codeforce round#375 题目大意:给你一个无向图,请你给每条边确定一个方向,使得出度等于入度的点个数最多 题解:欧拉回路,首先对于一个无向图来说,可以有一个结论:度数为奇的点有偶数个,那么外加一个点与所有的这样的点连接,最后所有的点度数均为偶数,跑欧拉回路即可。 传送门#include<iostream>#include<cstdio>#inc...原创 2018-05-06 19:27:21 · 128 阅读 · 0 评论 -
网络流入门
贴一个网络流详解gap优化之最大流(能解决几乎所有最大流问题)简述一下:首先反向给节点标号,然后,正向跑,过程中用gap判断是否有断层,即达到优化的效果。const int maxn = 1200;const int maxe = 500000;const int inf = 1&lt;&lt;30;struct Edge{ int v,cap,next;}edge...原创 2018-05-20 00:45:55 · 135 阅读 · 0 评论 -
hdu5296
hdu5296题意:给定一颗边权树,动态地在点集中增加和删除点。求当前所在点集中使得所有点都连通的最小边权和。 解法: 结论:树上点u到以x和y为端点的链的最短距离可以在O(n)预处理和O(logn)时间复杂度内求出。证明:设z=lca(x,y),dis[u]为树中点u到跟节点的路径权值和。则dis< u,(x,y) >=dis[u]-dis[lca(u,x...转载 2018-05-07 23:30:08 · 400 阅读 · 1 评论 -
Avito Code Challenge 2018 C
传送 题意:给定一棵树,将树拆分成一些没有重叠的路径,要求任何两条路径之间必须要有一个交点。 题解:稍微分析,除了只有一条路径的情况,有多条路径时,要满足两两香叫,必然所有的路径相加与一点,否则会成环,那就不是树了,排除这两种情况后就是没法划分的树了。要找出这样的路径:端点度数为1,或者度数等于度数为1的顶点个数。#include<bits/stdc++.h>using ...原创 2018-05-28 15:19:41 · 246 阅读 · 0 评论