BZOJ3997_组合DP解最小链覆盖

最小链覆盖 Dilworth’stheorem 话说这个专题网上的讲解都没有很全,窝就将他们的总和一下。 如果有问题请私信,评论。 首先说一下最小链覆盖定理,这个本质上是有点抽象的。 偏序集\color{red} \text{偏序集}偏序集的概念: 我们设当前的全集为 XXX。也就是一个 偏序集\color{red}\text{偏序集}偏序集,因为其元素部分可以比较大小。 链对于 XXX 的一个子集满足其是全序集,及其所有的元素可以比较大小。 反链对于 XXX 的一个子集,满足其任意非空子集都不是全序集, 即所有的元素不能比较大小。 链覆盖若干个链 阅读详情

题意:

给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。

此对此问题变形,假设每个格子中有aij财宝

而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完

题解:

先了解反链是什么

一个反链:代表一个点集中点的个数,满足点之间两两不可达

对于本题的反链:就是左下跟右上之间

举个例子,假设aij都是1,123456789是编号

{7,2,6}不是反链,2能到6

{7,5,3}就是一个反链,里面两两不可达

最长反链长度:点集大小最大的反链

我们现在求题目给的aij矩阵的最长反链长度,矩阵的值是aij

0 1 5

5 6 0

1 0 0

选对角线的{1,5,6}最大,点集大小为12,为什么是12?

注意aij中的值本身就是一个反链,因为走一次不可能经过aij两次

根据Dilworth定理,最长长链长度=最小链覆盖

题目要求最小链覆盖,就是求最长长链长度

我们的答案就是以(n,1)为左下角的矩形的最大反链

我们考虑dp[i][j]:以(i,j)为左下角到右上角的矩形的最大反链

为什么要这样设?因为我们发现(i,j)为左下角的最长反链必然由

黄蓝绿三部分中取得(取/不取???)

因此

 

 

偏序关系最小元,最大元,上下确界 偏序关系最大,最小元,上下确界的函数实现 立即下载

相关推荐

版图提取的spice网表中参数含义及二级效应STI/WPE

寄生电阻、寄生电容可以从版图提出的.sp文件中看, ad area of drain 面积 as area of source pd perimeter of drain 周长,PS PD周长都不计算与栅极接触的部分 ps perimeter of source nrd 漏扩散区等效方块数 nrs 源扩散区等效方块数 sa ...

qq_40007892的博客 6554

最小链覆盖——Dilworth定理

Dilworth定理 Dilworth定理,一言以蔽之,偏序集能划分成的最少的全序集个数等于最大反链的元素个数。——————litble 狄尔沃斯定理(Dilworth’s theorem)亦称偏序集分解定理,是关于偏序集的极大极小的定理,该定理断言:对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目。此定理的对偶形式亦真,它断言:对于任意有限偏序集,其最长链中元素的数目必等于其...

一身清贫怎敢入繁华 1万+

如果使用ssms连接SQLserver的时候出现无法连接到服务器。

如果使用ssms连接SQLserver的时候出现无法连接到服务器。 Lan 2020-03-29 22:11 329 人阅读 0 条评论 标题: 连接到服务器------------------------------无法连接到...

Vastsa的博客 1万+

DAG(有向无环图)的最小链覆盖

DAG的最小链覆盖:用最少的链去覆盖一个DAG,求最少链数量(一个点也算一条链) 最小链覆盖分为两种:链可以相交(可以重复经过某个点),链不可以相交(不可以重复经过某个点)(包括起点终点) 先讨论链不相交的情况,答案就是节点数减去二分图最大匹配数。 建图如下: 对于以下的图: 如此建图即可: 该图最大匹配和最小链覆盖答案均为2 跑一遍二分图匹配即可 证明分为感性和理性 感性:如果没有边,答案为...

wangyuda123456789的博客 2833

基于Python实现基于遥感指数的水体提取

基于Python实现基于遥感指数的水体提取

gis收藏家的博客 6148

Protege入门指南:从下载到本体构建实战

本文是Protege的入门实战指南,详细介绍了如何从官网下载安装这款由斯坦福大学开发的免费本体构建工具,并通过经典的“披萨本体”案例,系统讲解了类、属性、个体和公理四大核心要素。文章还深入解析了Protege的工作界面,并引导读者亲手创建一个简易的“公司人员组织”本体,完成从定义概念、建立关系到逻辑推理的全流程,是知识图谱与本体建模初学者的理想教程。

weixin_29093169的博客 699

最小路径覆盖与最小链覆盖 Dilworth定理:最小链覆盖等于最长反链(详细证明与经典例题)

一、最小路径覆盖 定义 最小路径覆盖就是指在有向无环图中,用最少的、不相交的简单路径覆盖图中的所有点。 解法 ①将原图中的每个点拆点,(将点u拆成u与u+n); ②将原图中的每条边 <u,v> 在新图中建立对应的边 <u,v+n>; ③将点(1 ~ n)作为二分图的左部,将点(n+1 ~ 2*n)作为二分图的右部,进行二分图的最大匹配; ④所求的最少路径数等于总点数n 减去 最大匹配数。 二、最小链覆盖 定义 最小链覆盖和最小路径覆盖的区别是,最小链覆盖允许路径相交。 最小路径覆盖

harry12138小白的博客 3906

java三角套利_三角对冲套利-EA原理全解析

它是两个直盘货币和一个交叉盘货币之间的相互对冲,交易员往往受到外界因素的影响无法严格执行造成亏损。该系统经过大量数据统计分析和严格的科学论证计算,并通过多年实盘交易验证可以达到稳定盈利。希望交易员严格按照交易规则执行。此策略利用交叉外汇对的市场价格与其合成价格的价差来实现套利,还以EUR/USD和GBP为例:1,我们关注三个外汇对:EUR/USD,GBP/USD,以及GBP/EUR2,计算GBP/...

weixin_29531897的博客 2418

最小路径覆盖问题 及 相关公式定理

以下内容假定读者已经掌握了二分图匹配:定义 最小点覆盖:最小点覆盖是一个点集,用最少的点和所有边关联。 最小边覆盖:最小边覆盖是一个边集,对于图中所有的点,至少有一条边与其关联。 独立集:独立集是一个点集,任意两点都不存在边。对于二分图而言,令|V|为二分图中的点数,则存在如下定理: 1. 最大匹配数 + 最大独立集 = |V| 2. 最小点覆盖 = 最大匹配数 3. 最小边覆盖 = 最

即使摸爬滚打,满身泥泞,我也要前进 1106

部署OpenClaw(ClawdBot、MoltBot)后访问localhost:18789报1008错误怎么办?

部署openclaw(曾用名ClawdBot、MoltBot)后访问localhost:18789出现1008授权错误❌?本文分享如何快速解决这个问题✅

XiaoqiangClub的博客 1万+

18、近端策略优化(PPO)算法详解

本文详细介绍了近端策略优化(PPO)算法的理论基础、算法流程、实现方法及实际应用。PPO作为当前最受欢迎的策略梯度算法之一,具有易于实现、计算成本低、样本效率高和性能优越等优点。文章对比了基于自适应KL惩罚和基于裁剪目标的两种PPO变体,重点解析了裁剪目标函数的设计原理及其在Actor-Critic框架下的实现方式,并通过Atari Pong游戏展示了完整的训练配置与流程。最后总结了PPO的优势、适用场景及未来发展方向,为强化学习研究者和实践者提供了全面的参考。

mongodb5scout的博客 180

bzoj3997 组合数学

组合数学 题目背景: bzoj3997 分析:首先注意,我们可以把原题抽象成为一张DAG,然后每个格子可以走到相邻的下方或者右方的格子,但是当前格子中的每一个点互不联通,然后,我们就可以发现原题就是求取一个DAG的最小链覆盖,然后根据 Dilworth定理(我也不知道这是什么,太蒟蒻······): DAG的最小链覆盖 = 最大独立点集 然后根据每个格子与右

scarlyw的博客 535

yolov8涨点系列之替换幽灵卷积GhostConv

yolov8涨点系列之替换幽灵卷积GhostConv

zhang1379的博客 3566

【BZOJ3997】[TJOI2015]组合数学 最长反链

【BZOJ3997】[TJOI2015]组合数学 Description 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。 Input 第一行为正整数T,代表数据组数。 每组数据第一行为正整数N,...

aodanchui1057的博客 166

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

BZOJ 3997 TJOI2015 组合数学 Dilworth定理

题目大意:给定一个网格图,每次从左上角出发,只能往右或往下走,最后到达右下角,每个格子有最低经过次数,问最少走几次 Dilworth定理:DAG的最小链覆盖=最大点独立集 最小链覆盖指选出最少的链(可以重复)使得每个点都在至少一条链中 最大点独立集指最大的集合使集合中任意两点不可达 此题中最大点独立集显然是一个集合满足集合中任意两点都是左下-右上的关系 DP一遍就能出解 复杂度O(Tmn)

世界 3945

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

BZOJ 3997: [TJOI2015]组合数学

3997: [TJOI2015]组合数学 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 428  Solved: 302 [Submit][Status][Discuss] Description  给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。此对此问题变形,假设每个格子中有好

蘑菇--走在通往梦想的道路上。 485

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[BZOJ 3997] 组合数学

Link: BZOJ 3997 传送门 Solution: 这题是一个比较明显的最小链覆盖,只不过还给每条链加上了权值 $Dilworth$定理:最小链覆盖数=最长反链长度 一般用$Dilworth$定理都是求最长反链,这题算是逆运用吧 发现能构成反链的两点一定是具有“左上、右下”的位置关系, 于是我们从右上角$<1,m>$开始,$dp$到左下角$<n,1&g...

weixin_30517001的博客 146

【BZOJ3997】【TJOI2015】组合数学 Dilworth定理 DP

题目描述   有一个n×mn\times m的网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。   此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。   n,m≤1000n,m\leq 1000 题解   定义偏序关系   把一个格子拆成很多个点,每个点代表一个财宝。

ez_yww的博客 425

【BZOJ 3997】 3997: [TJOI2015]组合数学 (DP| 最小链覆盖=最大点独立集)

3997: [TJOI2015]组合数学 Time Limit:20 SecMemory Limit:128 MBSubmit:919Solved:664 Description 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡...

weixin_30361641的博客 91

bzoj 3997 组合数学

最小链覆盖等于最大独立集。两个点不相互可达则一个数在另一个数的左下角,dp即可。#include#include#include#include#include#define ll long long#define inf 1e9#define eps 1e-10#define md#define N 1010using namespace std;ll f[N][N],a[N][N];int m

heheda_is_an_OIer的博客 484

BZOJ 3997 [TJOI2015]组合数学(单调DP)

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=3997 【题目大意】   给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。   问至少走多少次才能将财宝捡完。此对此问题变形,假设每个格子中有好多财宝,   而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。 ...

weixin_30505043的博客 85

[BZOJ3997][TJOI2015]组合数学

传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3997 Sol 根据dilworth定理偏序集的最小链划分=最长反链对于这题来说,把图建出来可以发现图是一个DAG 题目等价于求最小路径覆盖如果直接用网络流求的话T飞……发现是个偏序问题,所以DAG上的最小路径覆盖=最长反链即现在要找的东西就是一个集合S 所有的i,j不可达 求...

weixin_30256505的博客 139

bzoj 3997 & 洛谷 3974 组合数学 题解(建图,图论,DP)

原题链接: bzoj 洛谷 题意简述 给定一个n∗mn*mn∗m的矩阵,每个点上有一定量的财宝。每次从左上往右下走,只能往右或下走。走一个取走一个单位的财宝,多少次取完? 数据 输入 n m//描述矩阵,n,m<=1000 a11 a12 ... a1m a21 a22 ... a2m ... an1 an2 ... anm //给定矩阵。0<=每个权值<=1000000 输出...

LightningUZ的博客 289
上一篇: 2018暑假ACM训练积累
下一篇: 组合数取模小结
animalcoder
博客等级 码龄9年 43粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值