摘要: 总结1. 坐标的确定2. 有了坐标公式, 下一步就好做了使用 DFS 查找 left hand, right hand 最短路. BFS 全局最短路 阅读全文
posted @ 2014-04-08 17:06 周卓 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 这里给出了 Bellmanford 和 SPFA 的算法思想和伪代码, 但这离具体的实现还有差距, 最短路径算法的使用频率很高, 有必要总结一下1. SPFA 算法算法的核心是: 松弛有效的操作必然发生在松弛前导节点成功松弛的节点上/* * spfa.h * * Created on: Apr 8... 阅读全文
posted @ 2014-04-08 15:39 周卓 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 总结1. 这里 dp[][][] 不是恰好走 k 步, 而是最多走 k 步. 恰好和最多的区别就在于 dp 数组的初始化上了代码/* * source.cpp * * Created on: Apr 7, 2014 * Author: sangs */#include #include #include #include #include #include #include using namespace std;int val[1000];int dp[500][500][2];vector graph[1000];/* * dp[u][t][0] start from u an... 阅读全文
posted @ 2014-04-08 14:42 周卓 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 总结1. dp[u][k] 是恰好用完 k 时间的最大价值2. dfs(u, pre, vmax) 是计算 dp[u][1...vmax] 的值3. dfs 内部遍历, j 从大到小, 防止重复计算 f(j) = g(j-k)而 k 是从小到大, 因为在 134 行, dp[j] = max(dp[j], dp[j-k]+dp'[k]) 比较特殊, k 可以等于 0. 导致 dp[j] 被重复计算代码/* * source.cpp * * Created on: Apr 6, 2014 * Author: sangs */#include #include #include #in.. 阅读全文
posted @ 2014-04-08 11:55 周卓 阅读(152) 评论(0) 推荐(0) 编辑