蓝桥杯2017年第八届真题-发现环 (C++代码)并查集 摘要: #include "stdio.h" #include "stdlib.h" #include "iostream" #include "string.h" …… 题解列表 2019年05月19日 5 点赞 3 评论 2093 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环(纯dfs,无并查集) 解题思路:注意题目说法,如果将1作为根节点,建立一个树,只有一条边沟通树的非父子结点,故而我们可以首先dfs建立树,同时记录父结点,同时再做一遍dfs,此时注意保存沟通非父子节点的边所对应的两个结点。然后我们依照父结点数组追溯出这两个结点的所有祖先, 题解列表 2023年08月24日 0 点赞 0 评论 713 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环-题解(C语言代码)--无向图的拓扑排序 无向图的拓扑排序,不过也学习了别人写的并查集+搜索的方法、、、和有向图不同的是:不断删除入度为1的顶点,具体就是用一个vis[]数组标记一下,而且这样也避免了无向图边的重复访问!!!(判断一个点重复访问不可以用入度数组in[]==1来判断,犯错点)```cpp#include#include#incl 题解列表 2020年02月09日 0 点赞 0 评论 1134 浏览 评分:9.9
蓝桥杯 发现环 DFS+并查集 #蓝桥杯2017年第八届真题发现环DFS+并查集##1.思路1.并查集代表**连通分支**,当然,属于同一个连通分支的节点一定彼此连通2.在输入边时,合并连通分支,如果两个节点**已经连通**(即已经属于相同连通分支),新加入的边与之前的若干条边**构成环路**, 题解列表 2020年03月12日 0 点赞 0 评论 1373 浏览 评分:9.9
棋盘染色法 给棋盘按发现顺序编号,当发现该节点已经标记过时就找到了环,记录下环起点时的染色编号,回溯时保存结果。需要注意的时我们要额外处理找到的节点是上一个节点,而不是环的情况```cpp#includeusingnamespacestd;constintN=1e5+5;intn, 题解列表 2023年04月07日 0 点赞 0 评论 564 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环-题解(C++代码) 解题思路:DFS不断向当前结点的下一个结点前进,顺便记下下一个结点的父节点以便回头可以找到所有在环上的结点。用一个数组s[maxn]记录DFS过程中每一个结点的访问状态,对于结点p,如果:s[p]=-1代表当前结点正在访问中;s[p]=0代表当前未被访问;s[p]=1代表当前结点已经被访问过了。 题解列表 2020年10月13日 0 点赞 0 评论 1627 浏览 评分:9.9
蓝桥杯2017年第八届真题-发现环-题解(C++代码)两种解法 #####这题的解法有两种###解法1:拓扑排序法,一个环里的点的度都是2,通过拓扑排序把所有能遍历到的点都遍历了,最后没有遍历的点的度数都为2,就是答案。```cpp#include#definexfirst#defineysecond#definemem(h)memset(h, 题解列表 2020年10月11日 0 点赞 0 评论 1527 浏览 评分:9.3
蓝桥杯2017年第八届真题-发现环(拓扑排序python) 摘要:解题思路: 关键点就在于怎么判断一个点是环上的点,还是一个普通的节点。每个点都统计度数(入度加上出度)。如果我们从所有度为1的点开始访问,对子节点的度数减少1,并判断子节点度数是否为1,为1才可以继续…… 题解列表 2023年03月25日 0 点赞 0 评论 672 浏览 评分:7.0
蓝桥杯2017年第八届真题-发现环 (C语言代码)------------C语言——菜鸟级 摘要:解题思路:并查集 找环 未成环之前 看作一个树 用并查集找到环 两点 找的同时 建立一个 并查集树(自己瞎起的)找到两点后 从两个点分别回到并查集的根节点经过的点标记上 这两个点单独经过的点(…… 题解列表 2018年12月21日 8 点赞 0 评论 3631 浏览 评分:6.0
c++利用数组记录路径 摘要:解题思路:使用一个bool已经dfs来判断环上点的位置,详细的看代码上的注释注意事项:参考代码:#include<bits/stdc++.h>#define DZT ios::sync_with_st…… 题解列表 2024年04月05日 0 点赞 0 评论 630 浏览 评分:0.0