第一次出现超时 ac不了的题

思路一:对于每个节点用一次dfs

dfs中 记录到当前的最长路径,若大于最长,则清除set,并加入当前节点

思路二:先查找只有一个相邻节点的节点进行dfs,由于可能存在闭环,对为访问的节点dfs

思路三:(TQL),大神思路,先以1节点为根用一次dfs(1),求出以1为根的最深点集合,并且完成深度搜索一次,可以知道是否还有不可达点,

    如果还有没访问,继续遍历,可以的到连通分量数。

    如果大于1,直接打印错误信息

    否则,对最深点集合的其中一个进行dfs 即为答案。

    //【精髓】第一次dfs 的求的点虽然不是全局深度最深的,但最深点集合必定包含这些点,

    思路二,只有在 单邻居的节点数 小于2的情况下和思路三性能相当

对于二维数组

int a[][]

vector<int> a[]

vector<vector<int>> a

三种方式,在存储图(顶点数较多的情况下)的时候

访问速度依次变慢,所占空间依次缩小

1021. Deepest Root DFS 求最长无环路径的更多相关文章

  1. PAT 1021 Deepest Root[并查集、dfs][难]

    1021 Deepest Root (25)(25 分) A graph which is connected and acyclic can be considered a tree. The he ...

  2. PAT 甲级 1021 Deepest Root (25 分)(bfs求树高,又可能存在part数part>2的情况)

    1021 Deepest Root (25 分)   A graph which is connected and acyclic can be considered a tree. The heig ...

  3. PAT 甲级 1021 Deepest Root (并查集,树的遍历)

    1021. Deepest Root (25) 时间限制 1500 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A graph ...

  4. [PAT] 1021 Deepest Root (25)(25 分)

    1021 Deepest Root (25)(25 分)A graph which is connected and acyclic can be considered a tree. The hei ...

  5. PAT甲级1021. Deepest Root

    PAT甲级1021. Deepest Root 题意: 连接和非循环的图可以被认为是一棵树.树的高度取决于所选的根.现在你应该找到导致最高树的根.这样的根称为最深根. 输入规格: 每个输入文件包含一个 ...

  6. 1021. Deepest Root (25)——DFS+并查集

    http://pat.zju.edu.cn/contests/pat-a-practise/1021 无环连通图也可以视为一棵树,选定图中任意一点作为根,如果这时候整个树的深度最大,则称其为 deep ...

  7. 1021.Deepest Root (并查集+DFS树的深度)

    A graph which is connected and acyclic can be considered a tree. The height of the tree depends on t ...

  8. 1021. Deepest Root (25) -并查集判树 -BFS求深度

    题目如下: A graph which is connected and acyclic can be considered a tree. The height of the tree depend ...

  9. PAT甲题题解-1021. Deepest Root (25)-dfs+并查集

    dfs求最大层数并查集求连通个数 #include <iostream> #include <cstdio> #include <algorithm> #inclu ...

随机推荐

  1. UWP简单测试

    随便写下,试试.Net Core与UWP开发,后台WCF XAML <Page x:Class="App3.MainPage" xmlns="http://sche ...

  2. 《DOM Scripting》学习笔记-——第九章 CSS-DOM

    本章内容: 一.style属性 二.如何检索样式信息 三.如何改变样式 属性: 包含位置信息:parentNode , nextSibling , previousSibling , childNod ...

  3. windows下vmware配置nat网络

    linux学习需要配置网络,可以选择桥接网络,nat网络地址转换. 由于linux的服务,众多需要配置一个固定的ip,因此可以选择静态ip配置. 因此在这里自定义nat网络地址转换,可以固定一台lin ...

  4. 一.C#基础:标识符和关键字

    只要语言就会有标识符,和关键字的概念,以下是C#的标识符与关键字: 一个字符串要成为标识符要满足的条件1:只包含字母,(包括大小写),数字,@符号,下划线——.2:首位可以是字母,@,但一定不能是数字 ...

  5. Django2 SQLite3迁移到MySQL数据库

    https://blog.csdn.net/weixin_34257076/article/details/86843658

  6. Windows内核驱动中操作文件

    本页主题:如何在windows内核驱动中对文件操作,实现对文件的拷贝.粘贴.删除.查询信息等,这是很常用也是很简单的方法. 部分内容参考:http://www.cppblog.com/aurain/a ...

  7. grep -iq 与grep -qi 意思

    就是有的时候你不需要直接打印出结果,比如在shell脚本中,你只需要知道grep有没有找到指定的字符串,而不需要满屏幕打印出来,因为那样会很难看.这只可以加-q选项,执行结果是:如果找到了,会返回0, ...

  8. 混合现实开发教程unity2017

    共52节,MP4格式,英字,大小1GB 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  9. vue使用qrcode插件生成二维码

    参考:https://www.jianshu.com/p/d3883e020d99 步骤: 第一步:vue-cli下载插件 cnpm install --save qrcodejs2 第二步:组件中引 ...

  10. php判断用户是否关注微信公众号

    方法一: <?php     $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr ...