摘要: kruscal算法描述:kruscal算法的思路是:最初,把所有节点都看成孤立的集合,将图中所有的边按权重从小到大排序,然后依次遍历这些边,若边的两个端点在两个不同的集合中,则合并这条边的端点所属的两个集合,直到选出n-1条边将图中的所有n个节点都合并到了同一个集合,n-1次合并就选出了n-1条边,... 阅读全文
posted @ 2015-02-22 21:46 __brthls 阅读(383) 评论(0) 推荐(0) 编辑
摘要: prim算法描述:prim算法的思想和代码都跟dijkstra算法非常相似。在dijkstra算法中,我们用每次取出未标记集合中到源点最近的点进行标记并更新其邻接点到源点的距离:当d[x]+w 2 #include 3 #include 4 5 using namespace std; 6 ... 阅读全文
posted @ 2015-02-22 20:51 __brthls 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 算法描述:首先将起始节点入队,然后每次从队列中取出一个节点,更新其邻接点的最短路径值,若有被更新,则检查该邻接点是否在队列中,若不在队列中,则入队。如此循环直到队空时算法结束。当图中不存在负环时,算法一定会收敛,并能得到所求最短路。原因在于,每次从队列中取出一个节点并更新其邻接点的过程其实都是在向最... 阅读全文
posted @ 2015-02-22 19:53 __brthls 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题目链接: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) 编辑