摘要: bool cmp(int a, int b){ return a>b; //由大到小 降序 } bool cmp(int a, int b){ return a<b; //由小到大 升序 }sort(s,s+n,cmp); 阅读全文
posted @ 2020-01-14 23:13 北冥有鱼兮 阅读(155) 评论(0) 推荐(0) 编辑
摘要: Kruskal算法: ①用并查集实现 ②构造一个只含 n 个顶点,边集为空的子图,把子图中各个顶点看成各棵树上的根结点 ③sort()排序升序,依次从边集 E 中选取一条权值最小的边,如果该条边的两个顶点分属不同的树,则把两棵树合成一棵树。若该条边的两个顶点已落在同一棵树上,跳过,取下一条权值最小的 阅读全文
posted @ 2020-01-14 23:04 北冥有鱼兮 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 并查集:find() + union()+ init() 寻找根节点 + 合并子树 + 初始化 #include <stdio.h> #define MAX 100 using namespace std; int father[MAX]; //自己的父亲 int rank[MAX]; //秩 in 阅读全文
posted @ 2020-01-14 22:50 北冥有鱼兮 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题解:求最小生成树的最大权值边 △prim是什么?Kruskal大法好!不会超时还不用优化 www Kruskal解法:78ms #include <stdio.h> #include <algorithm> #define MAX 50005 #define MAX_EDG 100005 usin 阅读全文
posted @ 2020-01-14 19:55 北冥有鱼兮 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Prim算法:每次找距离集合V'的最近的点 + 松弛操作( dis[j] = min(dis[j] , map[k][j]) ) prim的松弛操作和迪杰斯特拉的松弛操作不一样,不要混淆了! Vector + 优先队列实现 #include <stdio.h> #include <string.h> 阅读全文
posted @ 2020-01-14 17:32 北冥有鱼兮 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿 阅读全文
posted @ 2020-01-14 15:38 北冥有鱼兮 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。 问题描述 一次放学的时候,小明已经规划好了 阅读全文
posted @ 2020-01-14 15:33 北冥有鱼兮 阅读(284) 评论(0) 推荐(0) 编辑