泰安专业网站开发公司推广专员

diannao/2025/10/22 13:43:35/文章来源:
泰安专业网站开发公司,推广专员,网站建设制作微商授权书,成都网站建设网站建设Description 给出两棵 n 结点的有标号树。 每次操作删去第一棵树的一条边#xff0c;再加上一条边#xff0c;需要保证此时还是一棵树。 构造一种操作序列#xff0c;将第一棵树变成第二棵树#xff0c;使得操作数最小。 n ≤ 51055 \times 10^55105 Solution 显然…Description 给出两棵 n 结点的有标号树。 每次操作删去第一棵树的一条边再加上一条边需要保证此时还是一棵树。 构造一种操作序列将第一棵树变成第二棵树使得操作数最小。 n ≤ 5×1055 \times 10^55×105 Solution 显然对于第一颗树的边x↔yx \leftrightarrow yx↔y如果这条边在第二颗树中也存在那么是不可能更改这条边的。一个朴素的想法是直接遍历第一颗树如果当前节点和其父亲连的边在第二颗树中没出现那么更改为连向第二颗树中的父节点。但这样会产生一个问题如果第二棵树的父节点在第一颗树中变成了子节点那么这条边也留着所以不能直接连父节点否则会出现环考虑把用两棵树之间相同的边连接起来的点缩成一个点因为两棵树都有的边无需改变所以我们这样做对题目没什么影响我们称这缩点后的点为大点可以发现第一棵树除了根大点外每个大点中深度最低的那个小点与父节点之间的边是要被改变的而他们要改成的边是第二棵树中这个大点中深度最低的点与父节点之间的边所以我们考虑用并查集来做每个大点即一个并查集并查集的根为第二棵树中要改变的点。然后在dfs第一棵树时如果遇见不在第二棵树中的边查询当前节点所在并查集中的根将第一棵树中这个节点和父节点之间的边改成它所在并查集的根与它在第二棵树中父节点之间的边。注意一颗树中出现环当且仅当一个点和它父节点连的边更改成和它的子树节点连所以我们从叶子节点往上更新就可以保证不会在操作过程中出现环即在dfs时要先处理子节点再处理当前节点。 Code #includeiostream #includecstdio #includevector using namespace std; const int N5e55; struct Edge{int v,nxt; }e1[N1],e2[N1]; int n,head1[N],cnt1,head2[N],cnt2,fa1[N],fa2[N]; int bel[N]; struct Ans{int a,b,c,d;}; vectorAns ans; void add1(int u,int v){e1[cnt1].vv;e1[cnt1].nxthead1[u];head1[u]cnt1; } void add2(int u,int v){e2[cnt2].vv;e2[cnt2].nxthead2[u];head2[u]cnt2; } void dfs1(int u,int f){for(int ihead1[u];i;ie1[i].nxt){int ve1[i].v;if(vf) continue;fa1[v]u;dfs1(v,u);} } void dfs2(int u,int f){for(int ihead2[u];i;ie2[i].nxt){int ve2[i].v;if(vf) continue;fa2[v]u;dfs2(v,u);} } int find(int x){if(bel[x]x) return x;return bel[x]find(bel[x]); } void rebuild(int u){for(int ihead1[u];i;ie1[i].nxt){int ve1[i].v;if(vfa1[u]) continue;rebuild(v);if(u!fa2[v]v!fa2[u])ans.push_back((Ans){u,v,find(v),fa2[find(v)]});} } int main(){scanf(%d,n);int x,y;for(int i1;in;i){scanf(%d%d,x,y);add1(x,y);add1(y,x);}for(int i1;in;i){scanf(%d%d,x,y);add2(x,y);add2(y,x);}dfs1(1,0);dfs2(1,0);bel[1]1;for(int i2;in;i)bel[i](fa1[i]fa2[i]||fa1[fa2[i]]i)?fa2[i]:i;rebuild(1);printf(%d\n,ans.size());for(int i0;ians.size();i) printf(%d %d %d %d\n,ans[i].a,ans[i].b,ans[i].c,ans[i].d);return 0; }参考文章 https://blog.csdn.net/u014664226/article/details/50901616

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

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

相关文章

有域名怎么发布网站吗wordpress如何修复

在本文中,我们将讨论C STL中ratio_equal()函数的工作,语法和示例。什么是ratio_equal模板?ratio_equal模板内置在C STL中,该模板在头文件中定义。ratio_equal用于比较两个比率。该模板接受两个参数,并检查给定的比率…

哪个做企业网站手机参数查询网站

gnd、vcc、clk、miso、rst、mosi、cs 转载于:https://www.cnblogs.com/scrazy/p/7892733.html

我的世界电影怎么做的视频网站网站制作的基本流程

昨天深夜,有一个朋友加QQ说他电脑出了问题,不知道咋的就变成了提示“未发现NVIDIA控制面板,从Microsoft Store中安装NVIDIA控制面板” 里面数据还是挺重要的,问是否有办法操作,具体看图; 经过询问得知,客户是在安装一个软件,反复运行后不出现,以为中毒了,就重启了一下…

东营可以做网站的公司在哪建个商场网站

这是我的第 56 篇原创文章随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来…

网站建设明细价格表营销推广方式有哪些

问题引入 前一篇文章,菜鸟找到了SQL on Linux Docker容器销毁后,容器中的数据库文件可以得以保留的方法,老鸟非常开心。所以,今天又提出了新的问题:“鸟儿,如果我想把我的数据库从SQL on Windows迁移到SQL …

团购网站管理系统求个网站好人有好报2023

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

城市建设模拟游戏网站360优化大师官方下载最新版

正题 题目链接:https://uoj.ac/problem/84 题目大意 有nnn个点的一棵树,111为根,两个人从根节点往下走(只能从深度小的点走到深度大的点)。 两个人每一秒都可以一条边(也可以不移动),或者不消…

怎么查一个网站有没有做301门户做网站

中国人民银行授权全国银行间同业拆借中心公布,2024年2月20日贷款市场报价利率(LPR)为:1年期LPR为3.45%,5年期以上LPR为3.95%。以上LPR在下一次发布LPR之前有效。 2024年1月22日贷款市场报价利率(LPR&#…

乡镇信息公开网站建设制度网站开发相关专业

最近在做python的web开发(原谅我的多变,好东西总想都学着。。。node.js也是),不过过程中总遇到些问题,不管是web.py还是django,开发起来确实没用php方便,毕竟存在的时间比较短,很多不完善的地方。比如我在调…

asp网站怎么改成中英双语温州网站推广优化公司

文档介绍:节以下不属于计算机外部设备的是。蕿A.输入设备羇B.中央处理器和主存储器袅C.输出设备蝿D.外存储器芈答案关键:B肇题目2of100肁计算机系统中运行的程序、数据及相应的文档的集合称为。蒁A.主机肆B.软件系统***C.系统软件蒂D.应用软件衿答案关键:B腿题目3of…

纺织品公司网站建设成都金牛区建设局网站

一、安装Android Studio 官网地址: https://developer.android.google.cn/ 历史版本下载地址: https://developer.android.com/studio/archive?hlzh-cn 二、安装Xcode 到App Store下载安装最新版本,如果MacOS更新不到13.0以上就无法安装…

住建城乡建设网站博客园 wordpress.net

1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符串值(就是键相同,值就连接起来如下例子)。该类可用于标头、查询字符串和窗体数据。每个元素都…

公司建立网站的费用如何做帐网站建设视频教程php

塑料检查井作为一种新型的检查井材料,其产品设计合理、座盖联合周密,为安装维护带来了极大的方便。 首先,塑料检查井的设计合理,能够满足各种工程需求。其结构紧凑、尺寸精确,可以方便地与管道和其他设施进行连接和安…

在线解压rar网站建网站软件 优帮云

👾 MaxPatrol VM 2.1 是俄罗斯唯一一款可以安装在 Linux 上并以审计和五重测试模式扫描 Windows 主机(甚至是旧版本)的漏洞管理产品。 让我们告诉你更新后的 MaxPatrol VM 还有哪些有用的功能: 1. 由于采用了新的数据存储模式&a…

建网页和建网站教做3d的网站

近期开发上线一个常驻app,项目已上线,今天随笔记录一下静默安装相关内容。我分三篇静默安装(root版)、静默安装(无障碍版)、监听系统更新、卸载、安装。 先说说我的项目需求:要求app一直运行&am…

个人网站有哪些板块创世网站建设

文章目录 父子组件的渲染机制优化手段与实践写法父组件:下发stateprops.children 传递无状态组件props传递组件 React.memo缓存子组件与useCallback结合 父子组件的渲染机制 渲染分初次渲染和重新渲染 React组件会在两种情况下发生重新渲染 当组件自身的state发生…

做网络推网站推广的目的黑户可做网站

本地TS播放过程 本地M3U8播放过程 http工作流程 http分两个步骤 1、获取m3u8文件,这个是在哪里开始读的? 2、获取data数据,这个是从http_read开始读,可以通过修改这里实现buffer数据和引擎对接 3、s->user_agent,s->off,…

房产网站方案扫描网站漏洞的软件

题目: 编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number // 2,并返回该值。 如果 number 是奇数,collatz()就打印并返回 3 * number 1。 然后编写一个程序&a…

公司网站改版方案网站开发薪资

**单片机设计介绍,基于单片机干湿垃圾自动分类系统 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的干湿垃圾自动分类系统是一个集成传感器技术、机械控制和单片机编程于一体的自动化解决方案。该系统的主要目标是实…

培训网站免费在线做ppt

文章目录一、创建SpringBoot项目二、添加Mybatis相关依赖三、数据源配置四、创建事务的模型实体类五、创建和数据库交互联系的映射关系类六、创建业务接口和实现类七、创建控制器类八、请求验证一、创建SpringBoot项目 如何创建详见:IDEA 创建 SpringBoot 项目 二、…