---把每天学的东西稍微记一下...就当是巩固知识了
今天学了几个知识点:
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的值...