摘要: 转自:原地址1. LCA转换到RMQ:通过深度优先遍历得到:数组E,保存遍历访问的每个节点号.数组L:保存遍历访问的每个节点层(高度).数组H:保存第一次访问某个节点的时候(即在E中的位置)这样我们就把LCA问题转换成了RMQ,比如查找节点9和节点12的最近共同父节点问题,就变成了H[9]=10,H... 阅读全文
posted @ 2014-10-12 21:42 kewowlo 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意 :给出一个森林 求两点间的最短距离并查集把一棵树搞在一起再将每棵树的根搞在root结点上用LCA转 RMQ 搞DFS 记录 到 root 的距离输出是 LEN [ A ] +LEN [ B ] - 2 * LEN [ LCA( A , B ) ];(两个点到根节点的距离再减去公共祖先到根的距离... 阅读全文
posted @ 2014-10-12 21:28 kewowlo 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 询问操作至多有50个遇到询问再回去找到原来位置的值#include #include #include #include #include #include #include #include using namespace std;#include #include #include #inclu... 阅读全文
posted @ 2014-10-12 19:35 kewowlo 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 转自 DISCUSS的证明设最长链是MN->已知[1]设由B开始DFS得到最长路为BC->已知[2]结论[1] MN与AB有公共点.否则MNBC 与已知[2]矛盾至此证毕(数据居然可能为空。。。)#include #include #include #include #include #includ... 阅读全文
posted @ 2014-10-12 19:00 kewowlo 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 给出一棵树 ,和边的权值求权值最长的一条直径两次bfs求第一次以任意点开始 BFS求出第一个端点第二次以第一次得到的端点 BFS求出第二个端点#include #include #include #include #include #include #include #include #includ... 阅读全文
posted @ 2014-10-12 18:29 kewowlo 阅读(154) 评论(0) 推荐(0) 编辑