ssl1746-商务旅行【tarjan,LCA】

正题


题目大意

一个n-1个点的有向无环图,给出若干个点,要求依次到达的最少时间。


解题思路

有向无环图我们可以把其看做一颗树,然后每次用LCA求两个点之间的距离,然后把所有距离统计一下就是结果。


代码

#include<cstdio>
#define min(a,b) a<b?a:b
using namespace std;
struct line{int next,to;
}a[60001],num[60001];
int father[30001],n,m,q,p,v[30001],tot,ls[30001],t,x,y,in[30001];
int last,ls1[30001],tot2,nber,sum,w[30001],d[30001],ans[30001];
void addl(int x,int y)//加边
{a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;
}
void addn(int x,int y)//表示要求这两个点的距离
{num[++tot2].to=y;num[tot2].next=ls1[x];ls1[x]=tot2;
}
int find(int x)//并查集
{return x==father[x]?x:father[x]=find(father[x]);
}
void tarjan(int x)
{v[x]=1;for (int i=ls[x];i;i=a[i].next){int y=a[i].to;if (v[y]) continue;d[y]=d[x]+1;//计算深度tarjan(y);//tarjan子节点father[y]=x;}for (int i=ls1[x];i;i=num[i].next){int y=num[i].to,id=w[i];if (v[y]==2)ans[id]=min(ans[id],d[x]+d[y]-d[find(y)]*2);//计算距离}v[x]=2;
}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++)father[i]=i;for (int i=1;i<n;i++){scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}scanf("%d",&m);last=1;for (int i=1;i<=m;i++){scanf("%d",&x);ans[i]=1<<30;addn(x,last);w[tot2]=i;addn(last,x);w[tot2]=i;ans[i]=last==x?0:ans[i];last=x;}tarjan(1);for (int i=1;i<=m;i++)sum+=ans[i];printf("%d",sum);
}

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

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

相关文章

springboot+layui从控制器请求至页面时js失效的解决方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。 昨天遇到了个很棘手的问题&#xff0c;其实也怪自己大意了&#xff0c;然后翻来覆去一个类一个类的去看&#xff0c;看完之后挨个技术点怀疑&#xff0c;然后分别从各个技术点入手解决&#xff0c;但…

JfreeChart(八)之甘特图

转载自 JfreeChart实现甘特图 一、甘特图简介 甘特图(Gantt chart)又称为横道图、条状图(Bar chart)。以提出者亨利L甘特先生的名字命名。 甘特图内在思想简单&#xff0c;即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。基本是一条…

springboot从控制器请求至页面时js失效的解决方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。昨天遇到了个很棘手的问题&#xff0c;其实也怪自己大意了&#xff0c;然后翻来覆去一个类一个类的去看&#xff0c;看完之后挨个技术点怀疑&#xff0c;然后分别从各个技术点入手解决&#xff0c;但都…

ASP.NET Core 源码学习之 Options[2]:IOptions

在 上一篇 中&#xff0c;介绍了一下Options的注册&#xff0c;而使用时只需要注入 IOption 即可&#xff1a; public ValuesController(IOptions<MyOptions> options){ var opt options.Value; } IOptions IOptions 定义非常简单&#xff0c;只有一个Value属性&a…

Java自动化邮件中发送图表(三)之Highchart

一、Highchart &#xff08;1&#xff09;Highchart.js Highcharts 是一个用纯JavaScript编写的一个图表库。能够很简单便捷的在web网站或是web应用程序添加有交互性的图表。 &#xff08;2&#xff09;highcharts-serverside-export Highcharts Serverside Export框架&…

【2018.5.19】模拟赛之一-ssl2432 面积最大【数学】

正题 大意 解题思路 沟谷定理可以用半径求出高度&#xff0c;然后暴力枚举就好了 公式&#xff1a; ahr2−(a/2)2−−−−−−−−−√∗2ahr2−(a/2)2∗2bhr2−(b/2)2−−−−−−−−−√∗2bhr2−(b/2)2∗2然后计算两个的面积去掉重复的 Sa∗ahb∗bh−a∗bSa∗ahb∗bh−a…

thymeleaf如何迭代遍历,如何判断

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。最近&#xff0c;换了个桌面手机的也同步换了下&#xff1a;哈哈哈&#xff0c;自己看着舒服就行~这几天在业余时间搞一个电商项目&#xff0c;可以说是边学边做&#xff0c;效率比较低&#xff0c;但是…

ASP.NET Core MVC Tag Helpers 介绍

简介 Tag Helpers 提供了在视图中更改和增强现有HTML元素的功能。将它们添加到视图中&#xff0c;会经过Razor模板引擎处理并创建一个HTML&#xff0c;之后再返回给浏览器。有一些Tag Helpers&#xff0c;其实作为元素或实际的标签&#xff08;如environment&#xff0c;cache…

JavaFX 2.1:Toolkit not initialized

转载自 JavaFX 2.1&#xff1a;Toolkit not initialized 一、问题 我的应用程序是基于Swing的。我想介绍JavaFX并将其配置为在辅助显示器上渲染场景。我可以使用JFrame来保存一个可以容纳JFXPanel的JFXPanel&#xff0c;但我想用JavaFX API实现这个目的。 子类化com.sun.gl…

【2018.5.19】模拟赛之二-ssl2433 文件名排序【字符串】

正题 大意 一些文件名&#xff0c;有的有后缀&#xff0c;有的没有。 现在要求&#xff08;先满足前者&#xff09; 1. 没有后缀的排最后 2. 后缀字典序 3. 名字字典序 解题思路 首先按后缀排序如果后缀一样就名字排序&#xff0c;然后两次枚举先搞定有后缀的在搞定没后缀…

layui结合springboot上传图片

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号**【雄雄的小课堂】**。 最近实在是忙的抽不开身&#xff0c;并且身上也出现了一堆的毛病&#xff0c;今天牙疼&#xff0c;明天脊椎疼&#xff0c;然后接着又头疼……年纪轻轻的&#xff0c;咋这么多毛病呢&#xff1f;…

【2018.5.19】模拟赛之三-ssl2434 取数【搜索,卡常或记忆化搜索】

正题 题目大意 有n*m的数字矩阵&#xff0c;要求每次只能往相邻的格子移动并取数&#xff0c;要求取数的顺序是一个等差的上升序列。求最多能移动多少步 解题思路 过法&#xff1a; 爆搜卡常 做法&#xff1a; 记忆化用f[i][j][k]表示在第i行第j列朝方向k移动需要的长度&a…

C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

前言 什么是Xamarin? Xamarin始创于2011年&#xff0c;旨在使移动开发变得难以置信地迅捷和简单。 Xamarin的产品简化了针对多种平台的应用开发&#xff0c;包括iOS、Android、Windows Phone和Mac App。 Xamarin由许多著名的开源社区开发者创立和参与&#xff0c;而且也是…

Java不需要使用Javafx的Application也能将Node导出图片

一、Java通用导出Javafx Chart图片 Javafx不需要使用Application也能导出图片&#xff0c;使用PlatformImpl.startup方法初始化Javafx的Toolkit。 Javafx API并不是所有机器都支持的&#xff0c;Node导出图片不一定成功。&#xff08;如&#xff1a;无法初始化Javafx的Toolki…

layui上传图片,前端直接拷代码,后端……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。最近实在是忙的抽不开身&#xff0c;并且身上也出现了一堆的毛病&#xff0c;今天牙疼&#xff0c;明天脊椎疼&#xff0c;然后接着又头疼……年纪轻轻的&#xff0c;咋这么多毛病呢&#xff1f;我也在…

ASP.NET Core 源码学习之 Options[3]:IOptionsSnapshot

2017-06-28 更新&#xff1a;OptionsSnapshot 已改为 OptionsManager 变更详情IOptionsCache 已改为 IOptionsMonitorCache 变更详情 在 上一章 中&#xff0c;介绍了 IOptions 的使用&#xff0c; 而我们知道&#xff0c;在 ConfigurationBuilder 的 AddJsonFile 中&#xff0…

【2018.5.19】模拟赛之四-ssl2435 航空公司【并查集,二分】

正题 题目大意 有n个点&#xff0c;给出坐标&#xff0c;选择所有距离在k之内的边要求联通所有点&#xff0c;求最小的k。 解题思路 垃圾解法 用二分答案然后加并查集求是否联通。 时间复杂度&#xff1a;O(mlogn)O(mlogn)正解 按距离排序&#xff0c;然后连边到所有岛都联…