2012年4月27日
摘要: 摘自:http://acm.hrbust.edu.cn/hcpc2012/index.php?act=showpost&p=15本题是图论题根据题意,判断一颗树中,某个点是否是另一个点的后裔。根据递归函数的入栈出栈时间戳特点(即子结点的入栈时间戳要晚于自己,而且子节点的出栈时间戳要早于自己)或者括号定理在O(N)内预处理一遍图,即可在O(1)时间完成每次查询。d[x]表示深度优先搜索中x的访问时间戳f[x]表示深度优先搜索中x的结束访问时间戳如果d[u] < d[v] < f[v] < f[u],那么v是u的后裔。 1 #include <cstdio> 阅读全文
posted @ 2012-04-27 17:18 Try86 阅读(160) 评论(0) 推荐(0)
摘要: 摘自:http://acm.hrbust.edu.cn/hcpc2012/index.php?act=showpost&p=15本题是动态规划+矩阵乘法题定义f[i][0]为走了i步恰好达到S的不同走法定义f[i][1]为走了i步恰好达到A的不同走法定义f[i][2]为走了i步恰好达到B的不同走法定义f[i][3]为走了i步恰好达到C的不同走法状态转义方程为:f[i][0] = f[i – 1][1] + f[i – 1][2] + f[i – 1][3];f[i][1] = f[i – 1][0] + f[i – 1][2] + f[i – 1][3];f[i][2] = f[i – 阅读全文
posted @ 2012-04-27 16:03 Try86 阅读(206) 评论(0) 推荐(0)
摘要: 1 /* 2 * 题目要求:求一组点中距离最远的一对的距离 3 * 解法:凸包+枚举 4 */ 5 6 #include <cmath> 7 #include <cstdio> 8 #include <cstdlib> 9 #include <iostream>10 11 using namespace std;12 13 const int N = 50005;14 15 struct point {16 int x;17 int y;18 }p[N], stack[N];19 20 int dis(point A, point B) {21 阅读全文
posted @ 2012-04-27 07:26 Try86 阅读(243) 评论(0) 推荐(0)