Dilworth定理学习笔记

最近做了两道题,都涉及到了这个定理,虽然我都没有用,不过学会这个定理确实有很多好处。

第一道是[TJOI2015] 组合数学,让你在一个矩阵中用最少的只能往右和往下的路径覆盖掉全部的点(点有权值)。这道题我一开始是用贪心做的,思考时模拟路径变化的过程其实挺复杂的,但是我做的时候总是隐隐约约的感觉有一种很好的性质,但是找不到。后面看了题解,发现用了Dilworth定理就能直接把DAG上的最小覆盖转换成最大独立集,在这一道题目中就是左下和右上的两个点,确实很厉害。

然后我学了一下Dilworth定理的证明。

首先是偏序集的定义:
对于集合 A A A给定一个关系 R R R(表达元素间的这个关系可以记做 a R b aRb aRb),若 R R R满足(默认元素均 ∈ A \in A A):
1. a R a aRa aRa(自反性)
2.若 a R b , b R a aRb,bRa aRb,bRa存在,当且仅当 a = b a=b a=b(反对称性)
3.若 a R b , b R c aRb,bRc aRb,bRc,则有 a R c aRc aRc(传递性)、

则R是A上的偏序关系,R和A一起称为一个偏序集。

然后是链和反链的定义:
1.链,指一个集合 S ⊆ A S \subseteq A SA,它的任意两个元素可比(指存在关系)。
2.反链,指一个集合 S ′ ⊆ A S' \subseteq A SA,它的任意两个元素不可比。

而Dilworth定理就是:对于一个偏序集,其最少反链划分=最大链,最少链划分=最大反链。

我们只需要证明第一条:最少反链划分=最大连,就能够通过“反向”定义偏序集得到。

定义最少反链划分数 p p p,最大链大小 r r r,偏序集 X X X

Lemma1. p > = r p>=r p>=r
Proof.由于链中元素都两两可比,所以它们之间都不会被划分在同一个反链中,显然得证。

下面定义极小元的概念:在偏序集 X X X中,对于某个元素 A A A,如果不存在 B B B,使得 B R A BRA BRA,那么元素 A A A则视为极小元。

Lemma2. r > = q r>=q r>=q
Proof.设 X 1 = X X_1=X X1=X,在 X 1 X_1 X1中删去极小元集合 A 1 A_1 A1得到 X 2 X_2 X2,以此类推,令 X k X_k Xk非空而 X k + 1 X_{k+1} Xk+1为空。

显然 A 1 , A 2 , A 3 , . . . , A k A_1,A_2,A_3,...,A_k A1,A2,A3,...,Ak X X X反链划分的一种,因此有 k > = q k>=q k>=q;且注意到对于 X i ( i > 1 ) X_i(i>1) Xi(i>1)中的任意元素 a i a_i ai,比存在 X i − 1 X_{i-1} Xi1中的元素 a i − 1 a_{i-1} ai1,使得 a i − 1 R a i a_{i-1}Ra_i ai1Rai,因此存在连 S = a 1 , a 2 , . . . , a k , R S={a_1,a_2,...,a_k,R} S=a1,a2,...,ak,R(根据传递性)。由于 r r r是最长链,因此有 r > = k r>=k r>=k。引理于是得证。

第二题是ICPC2023合肥的B题,题目里面问有多少种序列能够通过两个队列排好序,我们把偏序定义为若 i < j , a i < = a j i<j,a_i<=a_j i<j,ai<=aj i R j iRj iRj,这样就能转换成序列列的最长下降子序列不超过。

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

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

相关文章

【区分vue2和vue3下的element UI Message 消息提示组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中&#xff0c;我们通常使用 Element UI 的 this.$message 方法来显示消息提示&#xff0c;而不是作为一个组件直接在模板中使用。然而&#xff0c;在 Vue 3 的 Element Plus 中&#xff0c;虽然 this.$message 的使用方式仍然保留&#xff0c;但官方文档可能更倾向于…

靠!AI绘画月入过万!是否现实?

前言 AI人工智能已经出现在了越来越多领域中&#xff0c;比如最近一段时间&#xff0c;AI绘画就受到了许多人的关注&#xff0c;一来&#xff0c;其背后隐藏的版权问题、替代性问题引发了人们的广泛讨论&#xff0c;再者&#xff0c;AI绘画在短期时间内成为了流量密码&#xf…

暑假追高必备:ChildLife全新钙镁锌小绿钙

2024年暑假将至&#xff0c;家长们对于孩子的健康关注再次提升&#xff0c;其中补钙成为许多家长关注的重点。暑假期间&#xff0c;孩子有更多时间进行户外活动&#xff0c;加上高温流汗多&#xff0c;身体的钙更容易流失&#xff0c;因此需要额外地补充。为此&#xff0c;美国…

用友 U8+ 价格取数逻辑

采购—入—仓库—出—生产—入—仓库—出—销售

工业AIoT竞赛流程

不要点到重置&#xff01;&#xff01;&#xff01;要刷新虚拟机就点重启 xshell连接虚拟机&#xff1a;ssh rootPublic IP 环境构建 vim /etc/hosts 按 i 进入插入模式&#xff0c;加内网ip和主机名&#xff0c;按esc&#xff0c;按 : &#xff0c;按wq 三个虚拟机都这样配 …

创新实训博客(十三)——admin前端工作效果

管理/教师端前端工作汇总education-admin&#xff1a; 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理&…

什么类型的网站需要配置OV证书

目录 什么网站更适合OV证书&#xff1a; 申请OV需要注意&#xff1a; 申请单位组织验证型OV SSL证书的详细步骤 OV SSL证书全称Organization Validation SSL(组织验证性SSL证书)&#xff0c;是一种需要验证网站真实身份的数字证书。通过证书颁发机构审查网站企业身份和域名所…

温控系统-DAL数据层(2)BaseDAL和ProductDAL功能代码

BaseDAL是数据层中非常重要的基类&#xff0c;业务DAL使用到其中一些共用方法&#xff1b; ProductDAL.cs结构如下参考&#xff1a; using Common; using STMS.DbUtility; using STMS.Models.DModels; using System; using System.Collections.Generic; using System.Data.Sq…

3D模型优化10个最佳实践

对于许多在建模、渲染和动画方面经验丰富的 3D 建模者来说&#xff0c;3D 优化可能是一个令人畏惧的过程 - 特别是当你正在优化实时应用程序的 3D 模型时&#xff01; 在 Google 上快速搜索“如何优化 3D 文件”将会出现一些建议&#xff0c;例如减少多边形数和消除多余的顶点。…

为什么叫云计算?云计算的优势有哪些

说起云计算大家并不会感到陌生&#xff0c;那么为什么叫云计算&#xff1f;云计算技术的引入通常会使企业的信息技术应用更高效、更可靠、更安全。云计算支持用户在任意位置、使用各种终端获取应用服务。使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性&a…

等保测评中的问题与建议

随着信息技术的广泛使用和飞速发展&#xff0c;网络安全已逐渐演变为威胁经济社会发展的关键议题。信息安全的范围涵盖了政治、商务、军事、教育等多个方面。其中&#xff0c;信息的存储、分享以及管理&#xff0c;主要取决于政府的宏观规划和决策、商业运作的信息、银行的财务…

不可复制网站上的文字——2种方法

禁用javascript或Console控制台代码 &#xff08;1&#xff09;F12键——设置——勾选禁用javascript &#xff08;2&#xff09;Console控制台敲如下代码&#xff1a; var allowPaste function(e){ e.stopImmediatePropagation(); return true; }; document.addEventListe…

构建 Audio Unit 应用程序

构建 Audio Unit 应用程序 构建 Audio Unit 应用程序从选择设计模式开始I/O Pass ThroughI/O Without a Render Callback FunctionI/O with a Render Callback FunctionOutput-Only with a Render Callback Function其他设计模式 构建应用程序配置 audio session指定 audio uni…

金融行业自动化运维的研究与实践

金融行业自动化运维的研究与实践 在金融行业中&#xff0c;信息技术&#xff08;IT&#xff09;运维已经成为保障业务连续性和稳定性的重要环节。随着金融业务的复杂化和信息系统的多样化&#xff0c;传统的手工运维模式已无法满足高效、安全的需求。自动化运维技术的应用变得…

流计算状态算子灵活开发指南

随着实时数据流处理需求的不断增长&#xff0c;高效、可扩展的流计算框架变得愈发重要。DolphinDB 作为一款高性能分布式时间序列数据库&#xff0c;不仅在数据存储和查询上表现出色&#xff0c;还通过引入面向对象编程&#xff08;OOP&#xff09;编程范式&#xff0c;使得开发…

聚焦 HW 行动,构筑重保邮件安全防线

随着信息技术的飞速发展&#xff0c;网络安全已成为国家安全的重要组成部分。HW行动作为国家级网络安全演练&#xff0c;通过模拟实战攻防&#xff0c;检验和提升国家关键信息基础设施的防护能力。 CACTER凭借多年HW防护经验&#xff0c;提供全面的邮件安全防护体系&#xff0…

python实现syslog接受日志数据源代码

Syslog 是一种标准的日志记录协议&#xff0c;用于传输日志消息。它通常用于集中收集不同系统和设备的日志数据。本文将展示如何使用Python编写一个Syslog服务器&#xff0c;接受并处理Syslog日志消息。 环境准备 在开始之前&#xff0c;请确保你的系统上已经安装了Python。你…

批量视频创作:PlugLink如何助力大规模视频生成(附源码)

批量视频创作&#xff1a;PlugLink如何助力大规模视频生成 传统的视频制作流程往往需要大量的人力、物力和时间投入&#xff0c;这不仅限制了内容产出的效率&#xff0c;也大大提高了成本。为了解决这一问题&#xff0c;PlugLink&#xff0c;一个开源的自动化框架&#xff0c;…

MySQL详细介绍:开源关系数据库管理系统的魅力

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

Flutter 小技巧之为什么推荐 Widget 使用 const

今天收到这个问题&#xff0c;本来想着简单回复下&#xff0c;但是感觉这个话题又可以稍微展开讲讲&#xff0c;干脆就整理成一篇简单的科普&#xff0c;这样也能更方便清晰地回答这个问题。 聊这个问题之前&#xff0c;我们需要把一个“老生常谈”的概念拿出来说&#xff0c;那…