ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Luogu6628 [省选联考 2020 B 卷] 丁香之路

2020-11-22 11:03:57  阅读:300  来源: 互联网

标签:度数 省选 边权 路径 奇点 2020 回路 联考 欧拉


Luogu6628 [省选联考 2020 B 卷] 丁香之路

\(Kruskal\)+欧拉回路

这道题相当妙啊。

本题钦定了起点和终点,容易发现满足题意的路径是一条欧拉路径。欧拉路径的性质是奇点个数为\(0\)或\(2\),在本题中\(s\)和\(i\)恰好是两个奇点,因此剩下的路径上的点的度数应当为\(2\)。

把起点度数和终点度数\(+1\),就转化成了求解欧拉回路(这样实际上\(s\)和\(i\)就是两个奇点了,而其他点均为偶点)。

我们可以把奇点找出来,由于图中路径长度为\(\lvert i-j \rvert\),两点间直接路径最短,我们可以贪心地将相邻的奇点配对连边,使之成为偶点,一条边贡献的度数是\(2\),总度数为偶数,这样的方案一定存在。

但是会出现一个问题,可能我们最终得到的是很多欧拉回路,它们并不连通。

我们可以建立最小生成树将他们连通,边权需要\(\times 2\),因为我们总体需要形成欧拉回路。

建立最小生成树的过程会导致新的连边,这会不会导致答案变劣呢?

比如有四个节点\(A<B<C<D\)(其他中间路程中的点被省略)。

我们的算法会这样连:

边权和为:\(2(B-A)+2(D-C)+2(C-B)=2D-2A\)。

很容易怀疑以下方式是否更优:

边权和为:\((B-A)+(C-B)+(D-C)+(D-A)=2D-2A\)。

发现我们的计算方式不会让答案变劣。

因此我们证明了这是最优选取方式。

标签:度数,省选,边权,路径,奇点,2020,回路,联考,欧拉
来源: https://www.cnblogs.com/GK0328/p/14018565.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有