割边(Bridge) 模板 cpp vector ans; vector e[maxn]; void dfs(int u,int fa) { dep[u] = dep[fa] + 1; for(int v:e[u]) { if(v==fa) continue; if(!dep[v]) { dfs(v ...
分类:
移动开发 时间:
2020-03-28 00:45:52
阅读次数:
107
题目链接: https://codeforces.com/contest/1328/problem/E 思路: 题目大意就是问你从顶点到另一个点u,是否存在一条链,满足询问中的每个点都在 链上或者点的父节点在链上,首先我们可以发现深度最深的那个点max肯定是在链中的, 那么接下来我们只需要将每个点和 ...
分类:
其他好文 时间:
2020-03-27 22:01:32
阅读次数:
107
题目描述 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N?1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0 include define MAXSIZE 10 struct G ...
分类:
其他好文 时间:
2020-03-27 12:35:47
阅读次数:
138
Dinic 时间复杂度最坏 O(n*n*m) 平均O(n)。 算法思路:用BFS构建层次图,如果汇点不在层次图中则结束算法返回最大流,否则在层次图中DFS找到图中所有增广路,增广结束后重新建立层次图。 优化:多路增广优化:将节点的所有增广路的到的流量记录下来直接返回。 炸点优化:若改点无流量直接弃掉 ...
分类:
编程语言 时间:
2020-03-26 19:19:08
阅读次数:
95
广度优先搜索(BFS) 主要用于树的层序遍历或图的最短路径寻找,主要使用队列queue来完成。 ①树的层序遍历:使用队列保存未被检测的结点,结点按照宽度优先的次序被访问和进出队。 ②有向无环图的最短路径查找:由于有向无环图的某个节点的next节点可能会与另一个节点的next节点重复,所以我们需要记录 ...
分类:
其他好文 时间:
2020-03-26 17:50:35
阅读次数:
78
大家想一想,spfa是从bfs演化过来的,dijkstra是贪心思想,由此可见,这些“高级”的最短路算法都是有基础算法演化得来的。 而我今天要说的算法就是由基础的动态规划演化出来的最短路算法-floyd 还有用一到题来开启今天的内容:GF和猫咪的玩具 题意分析:有n个圆环,将两个圆环用力拉可以将这两 ...
分类:
其他好文 时间:
2020-03-26 15:21:40
阅读次数:
100
如果这道题没有一个限制,那么就是一道树状数组+dfs序的裸题 第一个请求或许会带来困惑,导致想要动态建树,如果真的动态修改树,那么dfs序必定会改变,很难维护,并且数据很大,暴力应该会T 所以不妨先把全部的节点建好,这样只需要求一次dfs序,而对于第一种操作 我们只需要再那个位置减去在他之前的dfs ...
分类:
编程语言 时间:
2020-03-25 23:45:29
阅读次数:
130
1、面向过程:注重解决问题的步骤,分析问题需要的每一步,实现的函数一次调用; 2、面向对象:这是一种变成思想,将数据和处理数据的程序封装到对象里了; 面向对象特点:抽象、继承、封装、多态; 优点:提高代码的复用性和维护性; 目录 一、三大基本特征:封装、继承、多态 1、封装 2、继承 3、多态 二、 ...
分类:
其他好文 时间:
2020-03-25 19:20:27
阅读次数:
71
如果图上两个点v和u不可达,一定要通过dfs(v)走完v所在的联通子图之后,才能判断v不可达u ...
分类:
其他好文 时间:
2020-03-25 19:11:49
阅读次数:
135
依照题目要求,即是不能从2流到1去,那么就是最小割。 从2向0,1连边,从0向0,1连边,然后跑最大流。 代码如下: #include<bits/stdc++.h> using namespace std; #define inf 1e9 const int maxn=105; const int ...
分类:
其他好文 时间:
2020-03-25 19:06:11
阅读次数:
70