【算法学习】圆方树——处理仙人掌的利器

news/2024/10/6 20:26:11

圆方树大概分两种,一个是圆方树,一个是广义圆方树。

圆方树

这可以解决仙人掌上的问题。

任意一条边至多只出现在一条简单回路的无向连通图称为仙人掌。

很多题解将其作为无向图构建,本文将其构建为外向树,在这个问题中两种构建方式不会影响求解。

构建方式

记读入的图为原图,构建的圆方树为新图。

首先,新图保留着原图的点集,这些点记为圆点。

将原图任意一个点(实现中指定 \(1\) 号点即可)作为根节点,然后在原图跑一遍 dfs。

每当找到一个环的时候,将进入环的点(也就是边双的根节点)记为头节点,然后在新图上对加一个方点,并让头节点向这个方点连边,边权为 \(0\),同时,方点向其它点 \(u\) 连边,边权为原图中的 \(u\) 到头节点的最短距离。

下面使原图与对应新图(圆方树)的一个例子:

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

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

相关文章

kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤

场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。 解决:使用步骤Blocking step进行阻塞处理即可。1、 如下流程图中利用Blocking step步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有…

高考假+端午 集训

相当不充实的集训6.5 whk ? 水 本来是今天开始集训的来着 但是要去看牙,所以能多待一天 🥰 一年了,终于把被我妈爆破的电脑整好了 (原因是更新没空间了) 但是重置前让我体验一下米哈游的新启动器,我就下了 整完后把原下回来发现新启动器没了,恼了( 早上睡得晚了,我爸…

如何查看网络连接人数?为你介绍三种方法

方法一:通过命令提示符查看1. 打开命令提示符(Windows键+R键,输入cmd并回车)。2. 在命令提示符窗口中输入“netstat -an”命令,并按回车键执行。3. 观察输出的信息,找到本地地址和外部地址对应的TCP和UDP连接数。4. 根据连接数可以大致判断当前网络连接的人数。方法二:通…

SpringBoot 使用 Zookeeper 实现分布式锁

之前的博客介绍过 zookeeper 的分布式锁,只不过是基于 Spring 的实现(技术太老了),现在肯定使用 SpringBoot 进行实现,因此有必要再写一篇博客。 有关 zookeeper 的部署,以及分布式锁细节,这里不再赘述,可以访问我之前编写的博客。 zookeeper 的单机和集群部署:https:…

openwrt扩容相关

硬件:R2S 固件:openwrt(QiuSimons/YAOF) A:最近给R2S换了个带Docker的固件,目前大多数固件刷完之后都会多出一堆空闲空间。如何把这些空间给overlay和/opt/docker扩容? Q:系统->启动项->本地启动脚本 在 exit 0 前面加入脚本强行挂载mount /dev/mmcblk0p3 /opt/d…

LeetCode 974 Subarray Sums Divisible by K All In One

LeetCode 974 Subarray Sums Divisible by K All In One LeetCode 974 能被 K 整除的子数组之和LeetCode 974 Subarray Sums Divisible by K All In OneLeetCode 974 能被 K 整除的子数组之和errosfunction subarraysDivByK(nums: number[], k: number): number {// -5 / 0 / 5…

ansible高级操作 serial滚动更新

1.异步操作和轮询 默认情况下,剧本中的任务会一直处于打开状态,直到任务在每个节点上完成。这样可以会造成阻塞和超时,因此我们可以使用异步模式一次运行所有任务,然后轮询直到它们完成为止。Ansible本身就是采用的多线程来操作多个主机节点,可以使用-P来异步操作。现在所…

Scaling Memcache at Facebook

Memcached 是一种众所周知的、简单的内存缓存解决方案。本文描述了 Facebook 如何利用 memcached 作为构建块来构造和扩展一个分布式键值存储支持世界上最大的社交网络。 1.Introduction一个社交网络(FB)的基础架构通常需要以下允许实时通信(近似,允许一定的延迟), 动态地…