WC图论(sjy)

news/2025/3/19 15:45:39/文章来源:https://www.cnblogs.com/larsr/p/18781033

这只是个人的一个笔记,对于我之前已经学过的这里就不讲了。

割空间与环空间

在图 \(G=(V,E)\) 上,将 \(V\) 划分成两个集合 \(V_1\)\(V_2\),定义 \(V_1\)\(V_2\) 的割集为 \(V_1\)\(V_2\) 之间的所有边,所以的割集构成割空间。

定义所有满足每个点的度数都为偶数的子图的边集构成环空间。

定理:同一张无向图的割空间与环空间互为正交补。

不会证明。。。

切边等价

对于一张无向图的两条边,如果每个简单环要么同时包含它们要么同时不包含它们,则称它们切边等价。

如何求出切边等价。考虑建出 dfs 树,对于非树边都将给一个随机数值,并将 \((u,v)\) 的树链上的边都 xor 上这个随机数。可以发现权值为 \(0\) 的边为割边,权值相同的边切边等价。任意一个 xor 值为 \(0\) 的边集为这个图的割集。

几个比较简单性质。

  • 在 dfs 树上,权值相同的树边一定形成祖先-后代链。
  • 两种不同权值的等价类一定完全包含或完全相离,即不会出现 ABAB 的情况。

边三连通分量

把割边和切边等价的边都断开,剩下的就是边三连通分量,将所有的边三缩点后图会变成一个仙人掌。仙人掌每个环上的边都是切边等价的。

广义串并联树

。。。

树分解

对于一个无向图 \(G=(V,E)\) 建出一棵树,树上的每个点都包含一个 bag,bag 里面的是原图的一些点。对于原图的每条边 \((u,v)\),使得树上存在一个点的 bag 包含这两个点。并且都有树上所有 bag 里有点 \(u\) 的点形成一个连通块。

一个树分解的树宽为 \(max(|bag_u|)-1\)\(tw(G)\) 为图 \(G\) 所有树分解中的最小树宽。

\(k\)-树是由 \(k+1\) 个点的完全图,进行若干次加点,满足每次添加的点恰好与之前的 \(k\) 个点之间有边,且这 \(k\) 个点之间两两有边,生成的图。 \(tw(G)<=k\) 当且仅当 \(G\) 为某一个 \(k\)-树的子图。

对于 \(tw(G)\) 较小的图可以利用树分解快速处理一些问题。

  • 最小点覆盖/最大团,可以枚举一个 bag 中的点选还是不选,然后树形 DP,时间复杂度 \(O(n2^kploy(k))\)
  • 多次询问两点之间的距离,可以点分治,时间复杂度 \(O(nlog^2npoly(k)+qk)\)

特殊图的树分解:

  • 广义串并联图,\(tw(G) \le 2\)。对于去一度点直接用 \((u,v)\) 的 bag 连接即可,去二度点 \(u-v-w\) 可以让 \((u,v,w)\) 连向 \((u,v),(v,w),(u,w)\)
  • Halin Graphs,\(tw(G) \le 3\)。Halin Graphs 是将一棵树的叶节点按 dfs 序连成环的图。考虑在树上 dfs,每个点记录 \((u,l,r)\)\(l,r\) 代表子树 \(u\) 左侧和右侧的叶节点,合并时会产生大小为 \(4\) 的 bag。

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

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

相关文章

一次100W+数据级别的渲染优化

组织架构的列表页有关于公司人员架构的树形结构展示,某大客户有10万员工,造成组织架构的列表渲染卡顿,用户点击经常造成页面崩溃。 需求背景:左边是树形目录,多层级展示,层级结构未作限制。点击左边目录会展示对应的列表,点击右边对应用户的组织属性,也会联动左边的目录…

小程序 反编译

背景 小程序测试难点,数据包加密?有签名存在?导致测试受阻 工具 wedecode wedecode https://github.com/biggerstar/wedecode1.首次使用,源码安装方式 git clone https://github.com/biggerstar/wedecode npm install # 如果 npm 安装很慢, 可以使用右侧命令换国内的淘宝…

日志文件必须输出到控制台才香对吗

在实际工作中发现很多人喜欢将日志输出到控制台,有的甚至直接只是输出到控制台,都不输出到日志文件中。 这种操作看似人畜无害,实际上直接影响着系统的性能,很多时候还难以排查,这里我从实际举例都背后原因来分析为什么这么做并不香。通常的日志配置 这里我们使用经常使用…

C#通过FTP获取服务端文件

一、简介实际需求是在前端修改了配置文件后,由上位机统一分发给所有设备,因为下位机支持FTP协议,因此选用FTP来实现文件传输功能。 二、准备工作 1、FTP服务搭建FTP服务端选用FileZilla Server,免费开源,简单好用,可以下载中文版的。下载地址:下载 - FileZilla中文网,也…

20242942 2024-2025-2 《网络攻防实践》实验三

1.实验内容 (1)动手实践tcpdump 使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么? (2)动手实践Wireshark 使用Wireshark开源软件对在本机上以TELNET方式…

Oracle OCP认证没落了吗?

Oracle OCP认证没落了吗? Oracle的OCP认证是数据库领域必考的一个认证,但随着国产化的发展,国内很多企业开发了自己的数据库产品,这种情况对很多人造成了错误的认识:OCP被淘汰了吗?不然,从行业需求、技术趋势、认证体系变化等角度综合分析,Oracle OCP证书并未完全“没…

查看dll文件的publicKeyToken

输入: SN -T "C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\log4net.dll"

把 DeepSeek 接入电话系统后,不知疲倦的智能客服向我们走来了

我们基于deepseek和Freeswitch做了一个智能电话客服。 它会基于给定的FAQ知识库来回答问题,自动进行语音识别和语音合成。 语音识别我们采用的是开源的FunAsr,语音合成采用的是第三方商用的API接口。我们接下来介绍下它的内部组成部分。【 第一阶段】当电话拨通电话后,电话服…

Seata的工作模式

Seata的分布式模型中各个角色的作用: 1.TM(事务管理器)是分布式事务的发起方,负责定义全局事务的边界(开始,提交,回滚),并于TC交互协调事务状态。 核心职责: ​ 通过@GlobalTransctional注解标记全局事务的起点。 ​ 向TC注册全局事务 ​ 根据业务逻辑决定全局事务的提交或回滚…

dify升级

一、需求 从0.14.2升级到0.15.3,要求模型供应商,创建的应用数据等等,不能丢失。二、安装0.14.2 下载dify代码cd /optgit clone https://github.com/langgenius/dify.gitcd dify/切换到tag 0.14.2git checkout 0.14.2git pull origin 0.14.2运行difycd dockercp .env.example…

机器人弧焊电源气体省气装置的工作原理是什么?

焊接机器人节气装置,作为一种在焊接流程中至关重要的气体调控设备,其核心宗旨在于在确保焊接作业品质卓越的同时,通过高度精确的气体流量调控机制,有效缩减气体的消耗量,进而达成显著的节气效益。该装置详尽地集成了气体质量流量控制器、适配的电源适配器、精准的电流传感…

分享一次利用无问AI进行应急响应

前情摘要:最近勒索病毒真的太猖獗了,光一星期我就接连处理了两起。不过黑客的攻击方式都是大同小异,处理完报告之后,特来分享其中一起。各位可得小心小心在小心,千万不要中招,不然就只有重装的份了。 事件概述: 最近,某公司机房数据库中了勒索病毒,工作人员上班发现后…