北大ACM暑期培训课程目录(五)

本文出自:http://blog.csdn.net/svitter

netFlow

Ford-Fulkerson

深度优先搜索,制作一个流网络。

部分路径可能不合理。

对上次dfs的边就行重新筛选。每条边来个反向边。

再来一次dfs

发现还能找到一条路径。

dfs->abtray edge->dfs

stop when no new stream

容量相等。

*残余网络

寻找变数最少的增广路径

通过bfs寻找增广路劲

Edmonds-Karp最短增广路算法

依然不是很好的算法。

POJ1273模板题

Dinic快速网络流算法

有方向的DFS(deep find search?)

1.首先利用bfs分层

2.必须走下一层节点。

3.回溯。

4.回溯原点,dfs结束。

5.重新分层。(若无法走到汇点,算法结束)否则,返回1.

复杂度n*n*m

以上是最大流

最大流每条边上的流量,最大是多少。

把原图备份,再减去最大流的流量。

最大流和上下界的部分待日后补充。

北大ACM暑期培训课程目录(五),布布扣,bubuko.com

时间: 2024-12-19 04:30:44

北大ACM暑期培训课程目录(五)的相关文章

北大ACM暑期培训课程目录(四)

本文出自:http://blog.csdn.net/svitter Computational Geometry 计算几何 ACM中基本是最麻烦的部分. 几何代码都要自己写,STL中也没有.基本上. struct point 数乘,差乘,计算几何题目抄.一个数字由于误差积累造成大. 避免误差. 注意: a=b <=> |a-b| < e a<b <=> a-b < -e a<=b <=> a-b < e e 多10^-8 四舍六入五差 +-

北大ACM暑期培训课程目录(三)

本文出自:http://blog.csdn.net/svitter 一.图的生成树 .必然含有n-1条边. .无向带权图. .如何求最小生成树. .prime | kruskal Prime: 从点里面找一个最短的边. kruskal: 从边里面找. .密集图使用邻接矩阵来存储. .稀疏图用邻接表来存储. .开一个邻接表,一个vector的一维数组. 时间复杂度(ElogV) 一般情况下邻接表更加优秀 题目:poj1258(邻接矩阵) 使用prime+堆完成.priority_queue(就是二

北大ACM暑期培训课程目录(二)

本文出自:http://blog.csdn.net/svitter 原来的一篇可能是因为字数太长,一编辑就出问题,无奈,只好暂时写一篇新的. 今天学习的内容是搜索. 一.wide search 1.poj3307 cow 深度搜索还要用栈. 广度搜速度更快. 按照层次的顺序访问节点. 走n步可以到达的点,n-1不可以到达.绝对是最优解. 可以联系图来想--周围区域扩展. re记住已经走过的点(如果转换成树呢?) 利用队列来存点. 广搜的空间大,深搜可以用一个栈来维护.(相对于广搜空间少的多) o

北大ACM暑期培训(1)——线段树,树状数组

本文出自:http://blog.csdn.net/svitter 今天ACM暑期实训开始了,今天讲述的内容是: 7.14  数据结构(一): 线段树,树状数组,二维线段树. 线段树:invertal tree (称为区间树更加合适) 作用:快速区间查询,用于解决区间统计的有关问题. 重点:同层节点不重叠. 每层最多有两个终止节点. 更新和进行区间分解的时间复杂度均为log(n); 方法:调用会多次使用递归更新插入查询: 空间:开空间的时候,一般情况下开4n大小,2*2log[n] - 1 <=

北大ACM题库习题分类与简介(转载)

在百度文库上找到的,不知是哪位大牛整理的,真的很不错! zz题 目分类 Posted by fishhead at 2007-01-13 12:44:58.0 -------------------------------------------------------------------------------- acm.pku.edu.cn 1. 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 23

北大ACM试题分类

OJ上的一些水题(可用来练手和增加自信) (poj1003,poj1004,poj1005,poj1207,poj3299,poj2159,poj2739,poj1083,poj2262,poj3006,poj2255,poj3094) 初级: 一.基本算法: (1)枚举. (poj1018,poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法. (4)递推. (5)构造法.(poj3295,poj3239)(6.1)模拟法.(poj10

文件、目录五

十七.特殊权限set_gidset_gid不仅可以作用在文件上,也可以作用在目录上,当作用在文件上和set_uid作用类似,作用在文件上的时候保证普通用户临时拥有该命令所属组的身份,当作用在目录上的时候当你创建子目录或者子文件创建的子文件和子目录创建的所属组和该目录的所属组保持一致十八. 特殊权限stick_bit防删除位 tmp有这个权限 有777权限 rwt也有x权限可以修改但是不能删除 只有root可以删除 十九.软链接文件类似于Windows的快捷方式ln -s 源文件 目标文件软链接不

北大ACM(POJ1003-Hangover)

Question:http://poj.org/problem?id=1003问题点:水题. 1 Memory: 220K Time: 0MS 2 Language: C++ Result: Accepted 3 4 #include <iostream> 5 using namespace std; 6 int calcCard(float f) 7 { 8 float sum=0; 9 int i=2; 10 for(;sum<f;i++) 11 { 12 sum+=1.0f/i;

北大ACM(Question-1753)

Question:http://poj.org/problem?id=1753 1 #include <iostream> 2 using namespace std; 3 bool a[4][4];//记录输入 4 bool b[4][4];//记录操作 5 bool c[4][4];//中间变量 6 bool judge() 7 { 8 int sum=0; 9 for(int i=0;i<4;i++) 10 { 11 for(int j=0;j<4;j++) 12 { 13