#D. Journey之二

news2024/12/25 0:48:27

一,题目

Description

给出一棵树N个点及数字K

接下来N-1行描述有关边的开始点,结束点.

保证图中不会有环

接下来K个数字,代表你要走过的点的编号.当然你可以自己选择出发点及行进的路线

不一定按给定编号顺序前行,求走过的最短距离。

Format

Input

第一行给出N,K。

2 <= N<= 50000,1<=K<=N

接下来N-1行,描述这个树

最后一行给出K个数字,代表点的编号。1<=编号<=N

Output

如题

Samples

输入数据 1

4 2

1 2

4 2

2 3

1 3

输出数据 1

2

输入数据 2

11 3

1 2

1 3

3 4

4 5

5 11

3 6

6 7

7 8

8 9

9 10

2 10 11

输出数据 2

12

Hint

注意当K=1的情况


二,思路

这道题其实是Journey的举一反三,只不过在这里没有告诉你k是多少没有了边权而已。

那么问题来了:我们该怎么求出k的多少呢?暴力枚举k吗?

no!

我们来看一下第二个样例:

在这里划红的线为遍历时的路径。

那么此时我们发现:起点k10,也就是深度最深的那个必须要走过的节点!

那么此时我们会有有一个大胆的猜想:会不会在这道题中k就是深度最深的那个必须要走过的节点呢?

我们来试着证明一下上面的猜想:在这里如果深度最深的那个必须要走过的节点中途遇到的,那么我们还要返回到根,而返回的距离是非常的(因为该节点深度最深),那么得到的一定不是最优解,而以深度最深的那个必须要走过的节点k的话就不用再往返2次了,大大的减少距离


三,代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工具及方法 - 文件正在被使用,无法改名或删除怎么办

有时我们想重命名或删除一个文件时&#xff0c;会提示错误&#xff0c;提示文件被占用。 比如提示&#xff1a;“The action can’t be completed because the folder is open in another program“。 或者&#xff1a; 或者&#xff1a; 就是因为有进程锁定(process is lock…

004-Ensp-实验-配置DNS

实验要求 1. 在PC2中Ping www.pc1.com 可以访问到PC2 2. 在PC1中Ping www.pc2.com 可以访问到PC2 网络结构 实验步骤 #需要开启DHCP [Huawei]interface g0/0/0 [Huawei-GigabitEthernet0/0/0]dhcp server dns-list 192.168.0.100 测试

人工智能:数字图像类型和常见格式介绍

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

【C语言】-深入内存带你看数据的存储

&#x1f387;作者&#xff1a;小树苗渴望变成参天大树 &#x1f389; 作者宣言&#xff1a;认真写好每一篇博客 &#x1f38a;作者gitee:link 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 数据的存储&#x1f9e8; 前言✨一、数据类型…

007-Ensp-实验-配置静态路由

实验要求 PC1 可以访问到 PC2 网络结构 实验步骤 1. AR1 G0/0/0 - G0/0/1 配置IP 2. AR2 G0/0/0 - G0/0/1 配置IP 3. PC1 PC2 配置IP/GateWay 4. AR1 配置静态路由表 ip route-static 192.168.1.0 255.255.255.0 192.168.5.2 5. AR2 配置静态路由表 ip route-static 19…

Linux虚拟机克隆后网卡名从eth0变成eth1

文章目录一 系统环境二 问题发现三 解决过程一 系统环境 原本被克隆的主机是 rhel6.9 的操作系统。 二 问题发现 对 rhel6.9 的主机克隆后&#xff0c;发现无法SSH远程连接&#xff0c;从而发现可能是网卡的问题需要解决。 首先检查网卡服务是否启动 发现network服务是正常运…

java在线视频播放系统视频网站影视网站电影电视剧播放网站源码

简介 ssm开发的视频网站。本项目主要包括了视频展示和查询功能&#xff0c;用户中心&#xff0c;积分管理&#xff0c;管理员管理等功能。 演示视频 https://www.bilibili.com/video/BV1tT4y1N7t8/?share_sourcecopy_web&vd_sourceed0f04fbb713154db5cc611225d92156 技…

【408篇】C语言笔记-第二十二章(文件的操作)

文章目录第一节&#xff1a;文件操作原理1. C文件概述2. 文件指针介绍第二节&#xff1a;文件的打开与关闭1. 文件打开与关闭常用函数2. 代码实战第三节&#xff1a;文件的读写1. fread函数与fwrite函数2. fgets函数与fputs函数第四节&#xff1a;文件位置指针偏移1. fseek函数…

2023-01-04 clickhouse-编译、开发、测试

https://bohutang.me/2020/06/05/clickhouse-and-friends-development/ 一次偶然的机会&#xff0c;和ClickHouse团队做了一次线下沟通&#xff0c;Alexey提到ClickHouse的设计哲学: The product must solve actual problemAnd do it better than others 用工程思维解决商业问…

人工智能期末试卷

一、简答题&#xff08;共 24 分&#xff09; 若将人看成一个信息处理系统&#xff0c;1) 人的智能具有哪些特征&#xff1f;2) 举例说明哪一特征是最重要的并 3) 阐述其与实现通用人工智能的关系。(要求&#xff1a;2、3 小问一定用自己的语言作答&#xff01;)&#xff08;8 …

javaweb课程设计-基于SSM框架的疫情数据统计分析系统源码+数据库,可以进行疫情数据录入、疫情数据查询、图表展示

疫情数据统计分析系统 完整代码下载地址&#xff1a;基于SSM框架的疫情数据统计分析系统源码数据库 介绍 疫情数据统计分析系统是一个基于SSM框架的网页端系统&#xff0c;项目中实现的功能如下&#xff1a;用户访问网站可以浏览全国疫情的图表信息&#xff0c;管理员登录后…

P1229 遍历问题

题目描述 我们都很熟悉二叉树的前序、中序、后序遍历&#xff0c;在数据结构中常提出这样的问题&#xff1a;已知一棵二叉树的前序和中序遍历&#xff0c;求它的后序遍历&#xff0c;相应的&#xff0c;已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定…

人工智能知识图谱研究

1、研究背景及意义 随着互联网技术的发展以及大数据、人工智能等新科技时代的来临&#xff0c;我国高校教育改革、高校人才培养也面临着新的机遇与挑战。一方面&#xff0c;为了实现国家战略、支撑快速发展的新经济&#xff0c;需要高校变革发展培养新型人才&#xff0c;满足社…

Au 效果器详解:自适应降噪

Au菜单&#xff1a;效果/降噪/恢复/自适应降噪Adaptive Noise Reduction自适应降噪 Adaptive Noise Reduction可快速去除变化的宽频噪声&#xff0c;如背景声音、隆隆声、风声等。此效果实时起作用&#xff0c;并可在多轨编辑器中使用。相对于标准降噪效果&#xff0c;自适应降…

cc1-7分析-2

cc2 cc2和cc4呢其实区别也不是很大&#xff0c;最后的rce的方式也都是一样的。区别在哪呢&#xff0c;之前我们说过TemplatesImpl.newTransformer是可以直接进行rce的&#xff0c;cc2就是通过 InvokerTransformer直接去调用TemplatesImpl.newTransformer&#xff0c;不走Insta…

Kubernetes(3)- Serivce详解

第七章 Service详解 本章节主要介绍kubernetes的流量负载组件&#xff1a;Service和Ingress。 Service介绍 ​ 在kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;我们可以通过pod的ip来访问应用程序&#xff0c;但是pod的ip地址不是固定的&#xff0c;这也就意味着…

【数据结构】带头双向循环链表的实现

目录 一、什么是带头双向循环链表 二、带头双向循环链表的实现 1、创建一个动态头结点 2、双向链表初始化 3、打印双向链表 4、双向链表尾插 5、双向链表尾删 6、双向链表头插 7、双向链表头删 8、双向链表查找 9、双向链表在pos的前面进行插入x 10、双向链表删除pos位置的结点…

植物大战僵尸:寻找葵花生产速度

通过CE修改器遍历出控制太阳花吐出阳光的时间变量&#xff0c;太阳花吐出阳光是由一个定时器控制的&#xff0c;首先我们找到第一个太阳花的基址与偏移&#xff0c;然后找出第二个太阳花的动态地址&#xff0c;并通过公式计算得到太阳花结构长度的相对偏移&#xff0c;最后我们…

C++ 大漠插件免注册调用

1&#xff1a; 参考文章&#xff1a; https://blog.csdn.net/chuhe163/article/details/1127455902&#xff1a; 免注册调用代码实现2.1 先建一个空的mfc项目2.2 拷贝dm.dll 到文件项目所在文件夹。2.2.1 拷贝到项目后&#xff0c;右键项目->添加 ->现有项 ->选择dm.d…

四、常用注解

文章目录四、常用注解1、TableName1.1 问题1.2 通过TableName解决问题1.3 通过全局配置解决问题2、TableId2.1 问题2.2 通过TableId解决问题2.3 TableId的value属性2.4 TableId的type属性2.5 雪花算法3、TableField3.1 情况13.2 情况24、TableLogic4.1 逻辑删除4.2 实现逻辑删除…