随笔分类 - 10.3图的遍历
摘要:题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805347523346432 本文完全参考刘婼的思路和代码!!! 参考地址:https://www.liuchuo.net/archives/3850 我刚开始想的是用
阅读全文
摘要:以后借助map实现字符串转编号,编号一律从 1开始,不要问为什么,血泪教训!!! 大致题意就是A看上了B,A要通过同性别朋友C,如果C认识D,且D是B的同性别朋友,那么A就可以追求B了。 方法一:DFS暴力枚举法,凉凉~~。 1 #include<iostream> 2 #include<vecto
阅读全文
摘要:大致题意就是给出一个图,然后给出一些顶点,判断这些顶点之间是否两两相互连接,如果不是,那么这些顶点不能组成一个圈子clique,否则,如果继续加入其它顶点仍然使得顶点之间两两相互连接,那么这些顶点不是最大的圈子,否则,是最大的圈子。 1 #include<iostream> 2 #include<v
阅读全文
摘要:大致题意就是给出一个无向图(可能包含若干连通块)、各顶点的权值,如果每一条边上两顶点的权值均不相同,那么输出所有不同权值的顶点个数,否则输出No。 由于题目顶点数 最多是10000,所以采用邻接表存储无向图。 然后使用DFS+回溯剪枝,遍历所有连通块的所有边,并对边上两顶点的权值进行判断即可。 1
阅读全文
摘要:大致题意就是给出N个结点 和 N-1条边,判断它们能否形成一棵N个结点的树?如果能就从中选出某个结点,使得整棵树的高度最大。输出所有 满足要求的可以作为根结点的结点。 思路: 第一步,由于连通且边数为 N-1 的图一定是一棵树。所以可以通过并查集判断图是否连通。 第二步,当图连通时,遍历每个顶点,并
阅读全文
摘要:大致题意就是给出一个无向图(可能包含若干连通块),删除某个顶点和与其相连的边以后,最少需要添加多少条边,使其成为一个连通图(一个图只包含一个连通块)。 思路: 第一步,删除某个顶点V,直接置visited[V]为已被访问即可。 第二步,删除顶点后,遍历图中所有连通块,并统计个数。 第三步,添加的边数
阅读全文
摘要:大致题意就是给出N组数据构造一个无向连通图,然后从顶点U开始统计出 L层 内(除自己外)所有结点的个数。 若使用DFS很容易出问题,比如: 情况一,图中有环。如果整个环上的结点都被访问并标记了,那么与环相连的其它路径上的结点可能无法因为路径上的某个结点被标记了,导致其无法被访问到。 情况二,可能会重
阅读全文
摘要:大致题意就是给出 N对 人的通话记录,可以根据通话对象分成若干个组(连通图)。在一个连通图中,任意两个人之间的总通话时长表示边权,一个人参与的总通话时长表示点权,所有人的总通话时长表示总边权。现在给定一个阀值K,且只要连通图的总边权超过K,并满足成员数超过2,则该组视为“犯罪团伙”,而且该组内点权最
阅读全文

浙公网安备 33010602011771号