摘要: 题目链接:http://hihocoder.com/problemset/problem/1089算法描述:floyd算法是求解图中任意两点最短路的经典算法,复杂度为O(n^3)。虽然我们完全可以用n次dijkstra算法来求任意两点的最短路,复杂度也是O(N^3),但如果有一个算法只需要5行代码就... 阅读全文
posted @ 2015-02-22 18:27 __brthls 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1081算法主要思路是:将所有节点分为两个集合(已标记节点和未标记节点),已标记节点集合中的所有节点到源节点的最短距离都已经得到。算法主要的工作就是,循环的从未标记节点集合中每次取出一个到源点距离最短的节点放入... 阅读全文
posted @ 2015-02-22 17:40 __brthls 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1080对于这种不止一个懒标记的线段树,只要弄清楚各种操作和各种懒标记间的关系就OK了。我的代码: 1 #include 2 3 using namespace std; 4 5 #define... 阅读全文
posted @ 2015-02-22 16:20 __brthls 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1079题目大意: 有一条数轴,先后对数轴上的一些区间着上不同的颜色,后着色的区间若跟先着色的区间有重合,则重合部分颜色将被后着色的区间颜色覆盖,求在一系列的区间着色操作之后,最终数轴上的颜色有几种。区间数目... 阅读全文
posted @ 2015-02-22 15:10 __brthls 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1078我的代码: 1 #include 2 #include 3 4 using namespace std; 5 6 #define MAXN 100005 7 8 int w[M... 阅读全文
posted @ 2015-02-22 12:53 __brthls 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1070 http://hihocoder.com/problemset/problem/1077我的代码: 1 #include 2 #include 3 4 using namespace st... 阅读全文
posted @ 2015-02-22 11:51 __brthls 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 树上任意两点的最近祖先,必定就是这两个节点的最短路径上深度最小的那个点。例如:下图中,节点7和5,其最短路径为7--4--1--5, 这条路径上深度最小的点为节点1,其深度为1.节点1即为节点7和5的LCA。因此,要找到任意两个节点的LCA,只需要先找到上述最短路径,再找到最短路径中深度最小的点。而... 阅读全文
posted @ 2015-02-21 20:26 __brthls 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://hihocoder.com/problemset/problem/1068我的代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define MAXN 1000005 8 9 in... 阅读全文
posted @ 2015-02-21 14:55 __brthls 阅读(121) 评论(0) 推荐(0) 编辑
摘要: tarjan算法是处理最近公共祖先问题的一种离线算法。算法思路:先将所有的询问搜集起来。然后对树进行dfs,在dfs的过程中对节点进行着色。当到达某个节点x的时候,给x着色为灰色,离开x的时候,着色为黑色。当到达x并将其着色为灰色后,处理与x相关联的所有询问:(这里有一个显然的事实:所有的灰色节点都... 阅读全文
posted @ 2015-02-21 13:24 __brthls 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 并查集可实现集合的快速合并与查找操作。路径压缩后的并查集可将每次合并或者查找的操作复杂度降低到O(1).我的代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define MAXN 100005 8 9 ... 阅读全文
posted @ 2015-02-20 18:20 __brthls 阅读(121) 评论(0) 推荐(0) 编辑