最小链覆盖 - Dilworth 定理 小记

news/2025/11/27 22:46:40/文章来源:https://www.cnblogs.com/dccy/p/19279699

最小链覆盖 - Dilworth 定理 小记

内容 & 证明

Dilworth定理,一言以蔽之,偏序集能划分成的最少的全序集个数等于最大反链的元素个数。——litble。

即最小链覆盖数等于最长反链的长度。

例子:求一个序列最少划分成多少个最长不下降子序列,等价于求序列的最长下降子序列长度。

不严谨证明(仅讨论二维偏序):

假设最小链覆盖等于 \(N\),最大反链等于 \(M\)

证明 \(N\ge M\):最大反链中任意两个点都是不可比的,因此反链上每个点都各属于不同的链覆盖中,则 \(N\ge M\)

证明 \(N\le M\):求出每个点开始的最长反链长度 \(f(x)\),我们按 \(f(x)\) 相同的点分层。可以知道同一层的任意两个点都是可比的,不然如果存在同一层两个点 \(x,y\) 不可比,则 \(f(x)\gets f(y)+1\),则与同一层矛盾。于是,同一层的点可以划分为一个链覆盖, 于是 \(N\le M\)

例题 1:P3974 [TJOI2015] 组合数学 - 洛谷

网格图路径可以看做选一条不上升子序列,要求选出最少的不上升子序列使得覆盖所有点。

利用 Dilworth 定理转化为求最长上升子序列。

例题 2:P14394 [JOISC 2016] 俄罗斯套娃 / Matryoshka - 洛谷

开始读错题了,始终不会算,注意:

其中所有底面直径不小于 A cm 且高度不超过 B cm 的套娃将提前交付。

所以每次加入一层 \(y\),然后用树状数组维护每个点开始的 LDS 即可。

例题 3:P10938 Vani和Cl2捉迷藏 - 洛谷

题目即要求最长反链,转化为求最小链覆盖(注意这里的链是一个点集而不是路径)。

用 Floyd 跑一次传递闭包转化为最小路径覆盖。

至于最小路径覆盖就是考虑 \(u\to v\) 化成二分图上的左部点 \(u\) 向右部点 \(v\) 连一条边,一开始每个点单独成路径,每次二分图上匹配一条边就表示两点所在路径首尾相连,于是最小路径覆盖就等于点数减去最大匹配

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

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

相关文章

我研发了一款电影截图拼接神器:Eagle 插件让你的影片收藏更专业

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

有种人

有一种人,就是不关心你,不爱你。(我也不知道原因)但是每当听到,看到,知道了关于你的任何事都会去想干涉你。而每当需要他去负责任的时候,他就会一脸无辜,我能怎么办呢,我尽力了,我又没有任何本事,意思是好像…

re笔记3

polarctf逆向加加减减 上代码 `int __cdecl main_0(int argc, const char **argv, const char **envp) { char v4; // [esp+0h] [ebp-154h] char v5; // [esp+0h] [ebp-154h] size_t i; // [esp+D0h] [ebp-84h] char S…

2025年11月27日

学习数据结构建模

memset 破坏string

memset就不用了 反正也是更优的 #include <bits/stdc++.h> using namespace std; struct node {string na;int n,t;bool operator < (const node &it) const{if(n==it.n) return t<it.t;else return n…

MySQL性能分析(六)之PS监控SQL性能

一、Profiling局限性 在MySQL性能诊断领域,Profiling工具曾因简单易用成为开发者排查SQL耗时的常用选择,但随着MySQL版本迭代(5.7+起官方明确标记为弃用),其功能局限和性能损耗问题逐渐凸显。而Performance Schem…

MySQL性能分析(六)之Performance Schema监控SQL性能

一、Profiling局限性 在MySQL性能诊断领域,Profiling工具曾因简单易用成为开发者排查SQL耗时的常用选择,但随着MySQL版本迭代(5.7+起官方明确标记为弃用),其功能局限和性能损耗问题逐渐凸显。而Performance Schem…

js控制并发请求

一. 设计思路 功能:目的在有限的并发池中运行多个 promise 返回和异步函数。添加异步任务 执行异步任务 限制最大并发数量二.实现interface Fn {(): Promise<any> } export default class Pipeline {private li…

Windows Update - Part 2: Update Package - Appendix

Appendix A: IPD-aware package ref: US 2005/0022175 A1 - Jan 27, 2005 ref: KB 828030 - You Cannot View or Extract the Updated Files from a Windows Product Update PackageE.g. WindowsXP-KB824146-x86-ENU.e…

Azure app service 和 Azure container app 的对比以及技术选型

Azure App Service vs Container App:Java技术栈详解 一、核心架构差异 Azure App ServicePaaS服务:提供预配置的运行时环境,支持Java SE、Tomcat、JBoss等容器 托管方式:直接部署WAR/JAR文件,无需管理容器 部署单…

EDEM里碰到的词汇

“hopper” 在中文里最常用、最准确的翻译是 料斗。 这是一个在工程、工业和学术领域(尤其是在离散元方法dem仿真,如edem软件中)的标准术语。 详细解释和不同语境下的翻译:核心翻译:料斗含义:指一种具有锥形或楔…

Nestjs框架: 微服务与分布式架构解析之核心概念、应用场景与技术挑战 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

嗯欧哀批2025有机 - Gon

随机说话可能是因为每次珍贵的经历,我都试图在回忆里抓住每个画面,不想让每个片刻流逝。嗯,这就是我写流水账的借口理由不知道会不会是最后一篇DAY -1学考学考,感觉whk忘光了,但是简单也是真的,不知道还能不能拿…

GitPulse:让代码的故事自己讲述

你值得被看见,而不是被遗忘 周五下午,领导突然问你:“这周做了什么?” 你愣住了。明明一整周都在写代码、改 bug、调接口,可 Git 提交记录却只写着 fix bug、update、调整……这些碎片无法还原你的真实价值——那…

图书馆管理系统Alpha阶段Scrum冲刺博客 Day1

博客标题: 图书馆管理系统Alpha阶段Scrum冲刺博客 Day1 团队名称: 花好月圆 一、各个成员在 Alpha 阶段认领的任务成员 认领的核心任务 Sprint Backlog 状态颜嘉盈 数据库设计与初始化、图书检索接口与算法优化 1项已…

工具-一套键鼠控制两台电脑

最新在使用电脑,在同时使用两台电脑的时候,桌面放两个鼠标和键盘,桌面太乱而且很不好用,网上搜了搜,可以使用软件解决。 软件1:share moursehttps://www.sharemouse.com/download/直接安装就好了,两台电脑安装后…

企业微信HTTP协议调用,逆向开发,本地化部署

​ 【登录】:触发获取二维码回调,关闭微信,断开指定客户端连接,禁止启动WXworkWeb进程,退出登录,输入验证码。 【微信基础和联系人信息】:获取当前登录帐号的信息,获取外部联系人列表,获取群组列表,获取群成…

Go语言设计模式:适配器模式详解 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

20251127周四日记

20251127周四日记今日: 1.早上学了pytorch,对于计算机视觉无非就是几项: import一堆-定义transforms-dataset-dataloader-model(nn.Module)-criterion-optimization-epochnum-训练(for循环-梯度清零-前向传播-计算…

【第一周:Python 测试开发核心错题集 避坑指南】

📘 第一周:Python 核心与工程规范错题本 1. ☠️ 必死题:可变默认参数 (Mutable Default Arguments)你的错误:认为 def func(l=[]): 里的 [] 每次调用都会重置。 真相:函数默认参数在 定义时 (Definition Time) …