摘要: DescriptionSummary:1. Fill dp array explicitly by using dp[i] = dp[i+1]2. At time i, do the first job explicitlyCode:/* * source.cpp * * Created on: Apr 5, 2014 * Author: sangs */#include #include #include #include #include using namespace std;class Job {public: int st, ed, duration; Job(int _... 阅读全文
posted @ 2014-04-05 22:28 周卓 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目描述总结1. 两遍 BFS. 第一遍给图的点标记上序号, 第二遍BFS, 只走向序号较小的孩子节点2. 迷糊了, 一个无权图, 还用了 dijkstra 算法 阅读全文
posted @ 2014-04-05 18:50 周卓 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目描述总结1. 可以使用记忆化DP, 也可以直接用循环2. 关于板子重叠的情况. 不需要考虑板子重叠的情况. 假如 board1, board2 之间的高度差大于限定, 那么不能完成降落, 或者不能直接完成降落. 阅读全文
posted @ 2014-04-05 17:13 周卓 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目描述总结1. [i~j] 之间建立一个邮局, 位置是 (i+j+1)/22. 初始化, 尽可能少的初始化代码/* * source.cpp * * Created on: 2014-4-5 * Author: vincent */#include #include #include #include using namespace std;const int NUM = 310;const int INF = 0X3F3F3F3F;int arr[10010];int dist[NUM][NUM];int dp[NUM][31];void init(int n) { for(i... 阅读全文
posted @ 2014-04-05 11:33 周卓 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目描述总结1. DFS 使用 dfs(u, v) 框架可以省去 visited[]; 还可以添加一个辅助的 dummy 头结点2. 需要 long long 类型才可以3. 题目本身比较简单, DFS 后序遍历, 树形 DP 的最简单题型代码 数据类型有误/* * source.cpp * * Created on: 2014-4-5 * Author: vincent */#include #include #include #include #include #include #include #include #include using namespace std;con... 阅读全文
posted @ 2014-04-05 10:49 周卓 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目描述总结1. dp[i][j] 第二个变量 j 的设置. j 可以设置成 Money, 也可以是带宽. 分别写一下状态转移方法会发现 j 是带宽时简单些, 并且带宽枚举量少一下2. dp[i][j] = min(dp[i][j], price[i][k]+dp[i-1][j]) for all k that bw[i][k] >= j代码 WA. discuss 的测试数据都通过了, 可能是 dp[-1] 的问题, 以后再改吧/* * source.cpp * * Created on: 2014-4-5 * Author: vincent *//* * dp[i][j] 前 ... 阅读全文
posted @ 2014-04-05 09:48 周卓 阅读(164) 评论(0) 推荐(0) 编辑