Don’t Really Like How The Story Ends

题意:

有n个点,m个边,现在要从1号边开始求dfs序,问最少加多少边可以是的dfs序是从1到n?

题解:

dfs序的过程中,不走到叶子节点我们是无法回溯的,这段路相当于一个链,所以我们可以用一个栈结果来存链上的点。
我们讨论各种情况:

  1. 如果u与u+1正好相连,就直接搜索u+1,不需要多加边

  2. 如果u存在一个相邻的点x还未访问,且u+1与u不相邻,此时必须加边,将u与u+1相连。因为按照dfs序,从u是要继续向下dfs,如果不加边就要遍历点x,这样dfs序就不连续了

  3. 如果u所有相邻的点都被访问了,u+1可以与u相连,也可以与栈内其他点连边,此时一直让u退栈,直到回到满足条件1或条件2的节点

  4. 如果第三种情况一直退栈,栈空了,也没有满足1和2情况的节点,此时就必须加边了,说明存在不连通部分,然后再继续dfs序走

代码:

代码待补

E. Don‘t Really Like How The Story Ends(代码未补)相关推荐

  1. 从言行合一到知行合一

    本篇记录突然的随想,偶尔停留 2022-01-17 rest不只是一个简单的api约束分享一本rest小手册,如何把东西变得 RESTful! 2021-12-06 规划 未来编程.   未来需要什么 ...

  2. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  3. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  4. mysql并发更新数据,多用户并发修改数据解决方案。

    mysql并发更新数据,多用户并发修改数据解决方案. 在系统中,有一些如余额.资产.积分的数据,是要保证数据一致性的.如,一个人使用两个设备同时进行消费操作,如何保证数据一致性的问题. 我们一起来思考 ...

  5. locust入门:单机使用locust运行压力测试

    locust的官方文档在这里: http://docs.locust.io/en/stable/ 前置:locust的测试脚本使用为python(若未安装python环境,可以搜索安装python) ...

  6. go build 编译报错 missing go.sum entry for module providing package

    go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy 再次编译,就可 ...

  7. 是否存在分布式的【大泥球】?

    2021-11-11 15:08 是否存在分布式的[大泥球]? 人们往往把微服务架构当成一剂良药,用以解决单体应用内的大泥球问题.然而,大泥球的本质问题是因为代码都位于同一个进程里运行的吗?换言之,如 ...

  8. 阿里云K8S容器服务的使用

    使用阿里云k8s构建服务 一. 上传镜像 二. k8s运行 三. 服务配置导入 四. 服务路由 五. 节点亲和性和污点管理 一. 上传镜像 在阿里云控制台找到"容器镜像服务",开启 ...

  9. 系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗

    在 <微服务架构设计模式> 一书中,作者总结了关于微服务的一些"重点",原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻.但如同我给所有客户的忠告一样,我想对 ...

  10. SpringBoot部署脚本,拿走即用!

    一个可以直接拿来使用的shell脚本,适用于springboot项目 #!/bin/bash # 这里可替换为你自己的执行程序,其他代码无需更改,绝对路径相对路径均可. # 若使用jenkins等工具 ...

最新文章

  1. 如何画出优秀的架构图?
  2. ZOJ 2317 Nice Patterns Strike Back(矩阵快速幂)
  3. 20155330 《信息安全系统设计基础》课程总结
  4. 浅析低延迟直播协议设计:RTP/RTCP
  5. 在网络中配置思科交换机
  6. [css] 为什么说对opacity进行动画要比box-shadow进行动画性能更好呢?
  7. 解决浏览器 Provisional headers are shown 无法向后台发送请求问题
  8. 蓝桥杯2018年第九届C/C++省赛B组第七题-螺旋折线
  9. 恐龙机器人钢索恐龙形态_恐龙有的四脚行走有的两脚行走,有的会飞有的会游,差别咋这么大...
  10. 发光二极管pcb封装图画法_protel元件封装总结
  11. Python获取京东商城的商品分类,并将分类保存到csv
  12. 哈工大同义词词林 python 使用范例
  13. 电商技术中企业数据总线ESB和注册服务管理的区别
  14. 银行机构的分类、特点及转型方向
  15. 简述多媒体计算机的特点,多媒体课件的特点和作用
  16. python判断闰年和平年
  17. Qt客户端套接字QTcpSocket通过bind指定本地ip
  18. Texworks中文论文编辑排版优秀
  19. ubuntu 16.04 更改 ipv6、numa、thp、io scheduler
  20. 将base64加密之后的图片文件流写为文件

热门文章

  1. 电影院为何有散落的青瓜?
  2. 日本画风超级“诡异”毕业典礼上线,网友:有被吓到,谢谢!
  3. 这是对R的误解!R的应用原来这么广!
  4. 关于序列建模,是时候抛弃RNN和LSTM了
  5. 兄dei,Python数据竞赛和5万现金奖励了解一下
  6. .net html5页面缓存,详解HTML5中的manifest缓存使用
  7. redis session java获取attribute_redis里的数据结构
  8. c语言三目运算符_C语言中的三目运算符是啥?有何用处?
  9. 中设置colorbar_【值得收藏】如何画出学术论文中需要的各种精美插图,看这一篇就够了!...
  10. leetcode53. 最大子数组和(暴力+贪心)