【每日一题】4月3日题目精讲 DFS

题号 NC13886
名称 Shortest Path
来源 西南交通大学第十三届ACM决赛
戳我进入往期每日一题汇总贴~

简单说一下汉语题意:

给你一棵 个节点的树(保证 是偶数),你需要将 个节点分为 个点对,使得每个点对的两个点的距离的和最小。

首先我们可以通过观察得到以下几点:

首先,在最短的距离和之中一条边一定不会被覆盖两次,如图,我们一定可以找到一种方法来交换配对,把重复的边去掉(其他的边是不会变的)。也就是说对于一条边来说,其实只有选和不选两种可能。

图片说明

第二,对于一个点x,它子树中的点一定会尽量在子树中找到匹配的点内部消化掉(要么连父亲要么连兄弟),只有根是有可能会往上找一个点来匹配(不然又会出现重复覆盖一条边的情况)。

那么如果我们不去想点怎么两两配对而是来考虑每个边选不选——对于当前点 ,如果它的子树大小(包括它自己)有偶数个点,那么肯定在子树里面就互相连完了,它不需要向上连;如果是奇数个点, 就需要去匹配上面的点了,所以 向它父亲连的边就要选。然后就没有然后啦!

这个题告诉我们,要善于对题目进行转换,题目让匹配点这个操作是比较困难的,所以我们可以选择通过选边来替代它,问题就简单了。
代码可戳我查看~
看完邓老师的题解,记得自己去做题提高呀~
欢迎各位大佬来做题写题解,也欢迎大家踊跃在当日讨论贴中提问!

活动奖励:

在牛客博客中写出题解,并回复地址
审核通过可获得(依据题目难度和题解的内容而定)

本道题目4月11日中午12:00之前写的题解有获得牛币资格~

牛客博客开通方式

  1. 如何开通牛客博客:https://www.nowcoder.com/discuss/202952
  2. 如何使用博客搬家功能:进入博客--->设置--->底部博客搬家
  3. 如果你对牛客博客有任何意见或建议:牛客博客意见反馈专贴
全部评论
https://blog.nowcoder.net/n/1441b86bb3764fa1bf399ad1bdb24696
1 回复 分享
发布于 2020-04-08 21:28
https://blog.nowcoder.net/n/8b8446df5380428a8fe7de4e8fb586bf
1 回复 分享
发布于 2020-04-03 16:43
https://blog.nowcoder.net/n/9ead616f837e4f6bbd9d4e7556349b77  
1 回复 分享
发布于 2020-04-02 18:02
https://blog.nowcoder.net/n/ced3c3a314404507b35cc85787f8bc16 codeforces 的一道题的简化版:https://codeforces.ml/contest/1281/problem/E
1 回复 分享
发布于 2020-04-02 15:13
https://blog.nowcoder.net/n/88d48a870ea9431b9610b6d5422a4240
1 回复 分享
发布于 2020-04-02 13:52
https://blog.nowcoder.net/n/dbe8ed347e3b41d096b5c8755f7d211a
点赞 回复 分享
发布于 2020-06-26 17:31
https://blog.nowcoder.net/n/49dffb09b8ce46ee9bc1ba5c4e5e5e4b
点赞 回复 分享
发布于 2020-05-05 23:19
https://blog.nowcoder.net/n/34329b060cac45fa92c254cc244f265e
点赞 回复 分享
发布于 2020-05-05 11:29
https://blog.nowcoder.net/n/e6f6e3c377bf4226973414af209588c4
点赞 回复 分享
发布于 2020-05-04 11:33
https://blog.nowcoder.net/n/377cb88341b840c3afcf269623fb753f
点赞 回复 分享
发布于 2020-04-11 17:34
https://blog.nowcoder.net/n/213ed7a72d244087873913d5af5bb113
点赞 回复 分享
发布于 2020-04-10 01:11
https://blog.nowcoder.net/n/bfa6bae59b7146e3bc18753132d9ab80
点赞 回复 分享
发布于 2020-04-09 21:59
https://blog.nowcoder.net/n/68d7e84b473b4be3b14a8c7f4f4d882e
点赞 回复 分享
发布于 2020-04-08 19:11
https://blog.nowcoder.net/n/8b7e23ba79854e99a3fff2ddaed45549
点赞 回复 分享
发布于 2020-04-08 14:01
https://blog.nowcoder.net/n/7c32be6030044d7488c1d58b26f02f7e 
点赞 回复 分享
发布于 2020-04-04 20:24
https://blog.nowcoder.net/n/fe1d59d04b464b0986b8a649f48fce0b
点赞 回复 分享
发布于 2020-04-04 00:43
https://blog.nowcoder.net/n/111097be742f464ead0e96a5d7869d10
点赞 回复 分享
发布于 2020-04-03 13:41
https://blog.nowcoder.net/n/9ff098403d3f454cbf6d0efc05df2b1c
点赞 回复 分享
发布于 2020-04-03 12:34
https://blog.nowcoder.net/n/99b6718234314297bc0cdbb66118b61a
点赞 回复 分享
发布于 2020-04-03 10:57
https://blog.nowcoder.net/n/0bc077dbad324f7d977e334d78dd18f2
点赞 回复 分享
发布于 2020-04-03 08:30

相关推荐

评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务