随笔分类 - 技巧-建图策略
摘要:题目 点这里看题目。 给定两棵树 ,两棵树均包含 个结点。结点编号均从 。 现在需要给每个编号分配一个权值,使得两棵树上的任意子树内,所有的结点编号对应的权值之和都为 或 。 构造任意一种方案,或声明无解。 所有数据满足 $1\le n\le 10
阅读全文
摘要:是不是 nb 的网络流题都不喜欢纯建图
阅读全文
摘要:题目 点这里看题目。 分析 先考虑枚举一个骨牌并将它取下来。这样,一个空格就可以通过周围的骨牌来向各个方向移动。 注意到,我们可以选取最终局面上的一个空格,并找出它原先在哪里——看一下初始平板上这个空格对应的字符,就可以确定现在这块骨牌向哪个方向移动了,我们就可以逆向操作;一直循环直到这个空格属于取
阅读全文
摘要:题目 点这里看题目。 分析 最初,我们可以猜想直接将志愿者需求 当作容量建边;但问题也很显然,即一个志愿者流量只有 1 ,我们却需要他的流量在多余一条边中被计算。 此时就需要更换思路:我们要做减法。平时我们通过流的叠加并达到流量上界满足要求,现在我们要求将流退掉,从而在最大流的前提下
阅读全文
摘要:题目 点这里看题目。 分析 这道题真的很经典。 如果没有光滑性的限制,我们发现这是个弱智贪心最小割问题。每一个位置切割的代价可以转移为边的容量。 因此我们可以很容易地建图,除去源汇共 个点,用 表示第 层上第 行第
阅读全文
摘要:题目 点这里看题目。 分析 经典的一类最小割问题。 首先不难确定问题的方向是最小割,以下我们认为 表示种在 田, 表示种在 田。 考虑如果没有合种的额外贡献,我们可以对于每个点,连接 \(S\overset{a_u}{\righta
阅读全文
摘要:题目 点这里看题目;以下是简述 小 N 手上有一个 的方格图,控制某一个点要付出 的代价,然后某个点如果被控制了,或者他周围的所有点(上下左右)都被控制了,那么他就算是被选择了的。一个点如果被选择了,那么可以得到 的回报,现在请
阅读全文
摘要:题目 点这里看题目。 分析 首先由于每个士兵有两种选择,因此我们考虑最小割。 但是,与一般的最小割问题不同,不论士兵怎么搭配都会有贡献。为了进一步思考,我们不妨画出常见的基本图: 假如 表示 作为战士, 表示 作为法师。 假如我们最
阅读全文
摘要:题目 点这里看题目。 分析 首先,对所有子集的权值取反,问题变成了求最大的权值和,可以尝试最小割。 这里的最小割就类似最大闭合权子图。将子集和元素都抽象成一个点,对于集合 和 ,连接 ;对于
阅读全文
摘要:题目 点这里看题目。 分析 建图有两个重要的条件需要注意: 弹道可能变成了折线; 控制每个格子最多被穿过一次; 常规的最大流/费用流做法不方便处理第一个点,我们不妨尝试最小割。 第二个点就意味着,每个格子要么被纵向穿过,要么被横向穿过。此时每个格子就存在两种选择,恰好对应 " 属于 "
阅读全文
摘要:题目 点这里看题目。 BZOJ GG 了,所以链接在 dark 上面。 题面: 你去找某 bm 玩,到了门口才发现要打开他家的大门不是一件容易的事…… 他家的大门外有 个站台,用 到 的正整数编号。你需要对每个站台访问一定次数以后大门才能开启。站台之间有 \(m\
阅读全文
摘要:题目 比赛界面。 T1 比较简单。容易想到是求鱼竿的最大独立集。由于题目的鱼竿可以被分割为二分图,就可以想到最大匹配。 尝试建边之后会发现边的数量不小,但联系题目性质会发现对于一条鱼竿,它会影响的垂直方向上的鱼竿一定是一个区间,因此再套一发线段树优化即可。 这里不建议写倍增优化,因为倍增的点是$O(
阅读全文
摘要:题目 点这里看题目。 分析 做法比较容易看出来。我们对于每个城市,找出那些 " 如果这个城市在首都内,则必须在首都内的其它城市 " ,也就是为了让这个城市的小镇连通而必须选的城市。 接着,我们新建一个有向图,将一个城市看成一个点,一条边 代表 " 在首都则
阅读全文