2017/2/25 学习笔记

---把每天学的东西稍微记一下...就当是巩固知识了

今天学了几个知识点:

1.求最小生成树的最大路径(假设a到b有多条路径,每条路径有多条边组成,求Min(max(路径1的所有边), max(路径2的所有边)...,max(路径N的所有边)))

kruscal算法(避圈法)当a b在同一个集合时,返回最小值。

例如:poj2253

2.求最大生成树的最小路径 (假设a到b有多条路径,每条路径有多条边组成,求max(min(路径1的所有边), min(路径2的所有边)...,min(路径N的所有边)))

kruscal算法(避圈法)当a b在同一个集合时,返回最大值。(与最小生成树的放入边的顺序相反,边权大的优先放入)

3.动态规划

最长连续子序列问题:

用一个变量 sum 来保存当前的序列和, Max来保存最大连续子序列和

当sum < 0时, 说明这个时候sum对a[i]没有贡献值,此时sum应该从a[i]开始往后加;否则sum>0,那么继续往后加 sum += a[i]

判断 sum和Max的大小关系,更新Max的值...

原文地址:https://www.cnblogs.com/ledoc/p/6443341.html