捉迷藏
这里主要是对蓝书上做法的补充
首先看到这道题目,我们假设已经知道要选哪些点了,那我们在原图
像这种“与一点有关的所有路径的所有点”,可以通过传递闭包后转化为“与一点走一条边有关的所有点”来简化,这就是为啥后面的分析是基于
然后蓝书上
我们是怎么想到最开始选终点的?我们考虑传递闭包之后的图,一般长成这个样子
我们选择点,似乎是往终点选择更好,所以我们最开始先选上所有终点
然后我们让所有终点向前(注意是向前,不是向后)走一条边(注意这个边都是指
然后蓝书说的
然后蓝书说的反证就是如果找不到
注意
然后最后我们证明一下最终的点集是符合题意的
首先,在最终的点集中,对于没有更换的点(即最开始就选出来的终点),他们走一步显然是不能互相到达的,而且也不能到达某一个
然后对于某一个
所以最终的点集是符合题意的
update 2024.8.24
蓝书的构造方法的证明有逻辑漏洞(这个构造方法不知道对不对,但是证明是不正确的):从蓝书提供的代码来看,不应该是重复步骤
但是不看构造的话,题目给出的结论是正确的。
反链:偏序集中的一个子集
Dilworht定理:对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目。此定理的对偶形式亦真,它断言:对于任意有限偏序集,其最长链中元素的数目必等于其最小反链划分中反链的数目。
这道题目肯定就是求最大反链了,而最小链划分肯定就是求最小路径点覆盖了,于是结论正确
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构