摘要: 题意:有N个比赛队(1≤N≤500),编号依次为1,2,3,...,N 进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 符合条件的排名 阅读全文
posted @ 2023-03-28 17:46 HelloHeBin 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个旅游区,旅游区有很多的景点,景点间需要开通缆车,使得任意两个景点可以互相到达。现在给出一些点间的缆车线路制造成本,两个景点之间可能有多重制造方式。问最少的花费是多少。 分析:连通+最少的花费 = 最小生成树。 Prim算法适用于稠密图, Kruskal适用于稀疏图 好家伙,两个 runt 阅读全文
posted @ 2023-03-28 17:18 HelloHeBin 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题意:房间里一共有 $10^7$个人,人与人直接有直接或者间接的朋友关系。 最多可以选择多少有朋友关系的人? 分析:求最大连通块。 带权并查集,父节点同时维护数量。 dfs/bfs 求最大连通块。 #include <bits/stdc++.h> using namespace std; typed 阅读全文
posted @ 2023-03-28 15:58 HelloHeBin 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题意:存在许多点和点与点之间的路径,路径长度不一,点到点之间可能存在多条路径。挑选部分路径使得所有点连通且总路径长度最小。 分析:连通+路径长度最小 = 最小生成树。 Prim算法适用于稠密图, Kruskal适用于稀疏图 #include <algorithm> #include <cstdio> 阅读全文
posted @ 2023-03-28 15:25 HelloHeBin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么安装光纤能将所有农场都连通起来,并且要使光纤距离最小,输出安装光纤的总距离。任意两个村庄之间的距离小于 100,000. 分析:连通+距离最小 = 最小生成树 Prim算法适用于稠密图, Kruskal适用于稀疏 阅读全文
posted @ 2023-03-28 14:57 HelloHeBin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题意:我们把一个城市考虑为一个图, 街道为边, 路口为点, 路口标记为 0~N-1. 盗贼从一个点开始逃亡, 每一分钟走一条边。不幸的是, 我们并不知道他逃往何处, 只能假设他每分钟都必须沿着一条边走, 不能停留但是可以反复经过。警官想要知道是否存在一个时刻, 盗贼可能出现在城市中的任意路口。 分析 阅读全文
posted @ 2023-03-28 10:07 HelloHeBin 阅读(13) 评论(0) 推荐(0) 编辑