摘要: 这道题目其实就是上面一道“超级英雄” 这里将属性作为左部,装备作为右部就好了 其实我最开始是没有想到的,因为我一直在想把某一个对象作为二分图的节点 这道题目就启发我们,其实不是非要把一个对象作为二分图的节点的,我们还可以把两个对象分别作为二分图的左右部来考虑(转换对象法) 另外这道题目的\(N\)非 阅读全文
posted @ 2024-02-13 16:51 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 这里主要是对蓝书上做法的补充 首先看到这道题目,我们假设已经知道要选哪些点了,那我们在原图\(G\)上每选一个点,与这个点有关的路径上的所有点都要被打上标记,打上标记的点就不能再选了,所以我们选的点就是每次都没有标记的点 像这种“与一点有关的所有路径的所有点”,可以通过传递闭包后转化为“与一点走一条 阅读全文
posted @ 2024-02-13 15:10 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 对任意一种路径覆盖,在二分图上选对应的边,肯定选出来的是一组匹配这就对应上去了 难的主要是将二分图对应到一种路径覆盖上面去 我们假设最开始把每个独立的点当做一条路径(即每个点既是起点也是终点),然后我们在二分图中每选一条边(注意是匹配边),就在DAG中选择对应的边,由于每次选择的是匹配边,所以在DA 阅读全文
posted @ 2024-02-13 13:24 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 这其实就是最小边覆盖 我们对任意一种选边的操作序列,显然每一条边要么使一个点被覆盖,要么使两个点被覆盖,而使两个点被覆盖的边肯定不会超过最大匹配,所以一个上界就是选出最大匹配的边,然后剩余的点再依次选择一条边,而这个上界显然是合法的,所以最后有 阅读全文
posted @ 2024-02-13 11:50 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑