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

Posted Jozky86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了E. Don‘t Really Like How The Story Ends(代码未补)相关的知识,希望对你有一定的参考价值。

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(代码未补)的主要内容,如果未能解决你的问题,请参考以下文章

Unit10 I don't like work in the weekend

VC6.0 出现failed to (or don't know how to) build 原因及解决方法

How can you catch a process that is about to be launched, if you don’t know the PID yet?

Paper Reading: How good are query optimizers, really?

php5.6.11编译安装报错configure: error: Don't know how to define struct flock on this system

[2016-05-25]OMG美语笔记-Have you ever felt like you had fever and you're burning up like really,real