随笔分类 -  技巧-建图策略

摘要:题目 点这里看题目。 给定两棵树 A,B,两棵树均包含 n 个结点。结点编号均从 1n。 现在需要给每个编号分配一个权值,使得两棵树上的任意子树内,所有的结点编号对应的权值之和都为 11。 构造任意一种方案,或声明无解。 所有数据满足 $1\le n\le 10 阅读全文
posted @ 2023-01-15 19:25 crashed 阅读(42) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-06-04 19:41 crashed 编辑
摘要:是不是 nb 的网络流题都不喜欢纯建图 阅读全文
posted @ 2022-03-16 21:57 crashed 阅读(62) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-03-15 23:13 crashed 编辑
该文被密码保护。
posted @ 2022-02-11 08:55 crashed 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 先考虑枚举一个骨牌并将它取下来。这样,一个空格就可以通过周围的骨牌来向各个方向移动。 注意到,我们可以选取最终局面上的一个空格,并找出它原先在哪里——看一下初始平板上这个空格对应的字符,就可以确定现在这块骨牌向哪个方向移动了,我们就可以逆向操作;一直循环直到这个空格属于取 阅读全文
posted @ 2021-10-18 19:49 crashed 阅读(39) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 最初,我们可以猜想直接将志愿者需求 ai 当作容量建边;但问题也很显然,即一个志愿者流量只有 1 ,我们却需要他的流量在多余一条边中被计算。 此时就需要更换思路:我们要做减法。平时我们通过流的叠加并达到流量上界满足要求,现在我们要求将流退掉,从而在最大流的前提下 阅读全文
posted @ 2021-01-06 22:25 crashed 阅读(74) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 这道题真的很经典。 如果没有光滑性的限制,我们发现这是个弱智贪心最小割问题。每一个位置切割的代价可以转移为边的容量。 因此我们可以很容易地建图,除去源汇共 PQ(R+1) 个点,用 (a,b,c) 表示第 a 层上第 b 行第 c 阅读全文
posted @ 2020-12-29 16:52 crashed 阅读(76) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 经典的一类最小割问题。 首先不难确定问题的方向是最小割,以下我们认为 uS 表示种在 A 田, uT 表示种在 B 田。 考虑如果没有合种的额外贡献,我们可以对于每个点,连接 \(S\overset{a_u}{\righta 阅读全文
posted @ 2020-12-28 20:49 crashed 阅读(63) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目;以下是简述 小 N 手上有一个 N×M 的方格图,控制某一个点要付出 Aij 的代价,然后某个点如果被控制了,或者他周围的所有点(上下左右)都被控制了,那么他就算是被选择了的。一个点如果被选择了,那么可以得到 Bij 的回报,现在请 阅读全文
posted @ 2020-12-28 20:37 crashed 阅读(77) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 首先由于每个士兵有两种选择,因此我们考虑最小割。 但是,与一般的最小割问题不同,不论士兵怎么搭配都会有贡献。为了进一步思考,我们不妨画出常见的基本图: 假如 uS 表示 u 作为战士, uS 表示 u 作为法师。 假如我们最 阅读全文
posted @ 2020-12-26 16:40 crashed 阅读(115) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 首先,对所有子集的权值取反,问题变成了求最大的权值和,可以尝试最小割。 这里的最小割就类似最大闭合权子图。将子集和元素都抽象成一个点,对于集合 UuU ,连接 U+u ;对于 阅读全文
posted @ 2020-12-26 16:00 crashed 阅读(80) 评论(0) 推荐(0) 编辑
摘要:最大流 上下界网络流 对于该问题的图 G ,对于每条边 (u,v)E ,有两个容量限制 cl(u,v)cu(u,v) 。可行流必须满足: (u,v)E,cl(u,v)f(u,v)cu(u,v) 阅读全文
posted @ 2020-12-26 14:42 crashed 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 建图有两个重要的条件需要注意: 弹道可能变成了折线; 控制每个格子最多被穿过一次; 常规的最大流/费用流做法不方便处理第一个点,我们不妨尝试最小割。 第二个点就意味着,每个格子要么被纵向穿过,要么被横向穿过。此时每个格子就存在两种选择,恰好对应 " 属于 S " 阅读全文
posted @ 2020-12-25 19:01 crashed 阅读(132) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 BZOJ GG 了,所以链接在 dark 上面。 题面: 你去找某 bm 玩,到了门口才发现要打开他家的大门不是一件容易的事…… 他家的大门外有 n 个站台,用 1n 的正整数编号。你需要对每个站台访问一定次数以后大门才能开启。站台之间有 \(m\ 阅读全文
posted @ 2020-12-22 18:19 crashed 阅读(68) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 不难发现: |i=1n(AijBij)|=|i=1nAiji=1nBij| 行求和同理;于是可以发现 Aij 都是定值,我们只关心 B 的行和和列和。 阅读全文
posted @ 2020-12-21 22:21 crashed 阅读(74) 评论(0) 推荐(0) 编辑
摘要:题目 比赛界面。 T1 比较简单。容易想到是求鱼竿的最大独立集。由于题目的鱼竿可以被分割为二分图,就可以想到最大匹配。 尝试建边之后会发现边的数量不小,但联系题目性质会发现对于一条鱼竿,它会影响的垂直方向上的鱼竿一定是一个区间,因此再套一发线段树优化即可。 这里不建议写倍增优化,因为倍增的点是$O( 阅读全文
posted @ 2020-06-11 21:51 crashed 阅读(341) 评论(0) 推荐(0) 编辑
摘要:题目 点这里看题目。 分析 做法比较容易看出来。我们对于每个城市,找出那些 " 如果这个城市在首都内,则必须在首都内的其它城市 " ,也就是为了让这个城市的小镇连通而必须选的城市。 接着,我们新建一个有向图,将一个城市看成一个点,一条边 (u,v) 代表 " u 在首都则 v 阅读全文
posted @ 2020-04-02 22:07 crashed 阅读(448) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示