图论与网络流选讲

[JSOI2018]防御网络

考虑算每条边的贡献,对于一条割边,设其两侧的大小分别为 \(siz\)\(n-siz\) ,那么它会出现在 \((2^{siz}-1)(2^{n-siz}-1)\) 种方案中。

对于在环上的边,考虑对整个环来算,如果在这个环上一共有 \(k\) 棵子树中有点被选中,那么这 \(k\) 棵子树的根会把环分成 \(k\) 个部分,最终这种方案的贡献就是环长减去这 \(k\) 段中最长一段的长度,可以设 \(dp_{l,r,i}\) 表示当前选择的最左端点为 \(l\) ,右端点为 \(r\) ,最长一段长为 \(i\) 的方案数,算贡献时需要将 \(i\) 与外面的一段取 \(\max\)

暴力 \(dp\)\(O(n^4)\) ,前缀和优化转移可以做到 \(O(n^3)\)

点击查看代码

[BJOI2018]染色

首先可以判断图不是二分图的情况一定不合法,对于二分图,我们对每个联通块分别考虑,可以把度数为 \(1\) 的点剥掉,使得剩下每个点度数不小于 \(2\)

考虑最简单的一个环的情况:

这样标就可以固定 \(2,4\) 号点的颜色 (更进一步地,任意环上距离奇数的两个点的颜色),于是只要我们的连通块里有两个没有公共边的环,答案就是 \(\text{NO}\) 了。

我们发现,所有存在度数不小于 \(4\) 的点的图都不合法,因为这个点是两个环的公共点。

而存在两个以上度数等于三的点的图也不合法,因为这样一定可以线性组合出一组不相交的环。

现在只考虑两个偶环相交的情况,设两个交点为 \(u,v\),对 \(u,v\) 中间三条路径的长度分情况讨论。

  1. 三条路径长度为奇数

这时候可以轻易卡掉,令 \(u\) 的集合为 \(AC\)\(v\) 的集合为 \(AC\),第一条路径上的集合全部为 \(AC\),可以保证 \(u\)\(v\) 必须选择不同的颜色。

现在用一条最短的路径将 \(u\) 选择 \(A\) 同时 \(v\) 选择 \(C\) 的情况 \(\text{ban}\) 掉,令一种情况同理。

则剩下的路径上边数都至少为 \(3\)(不考虑重边),点数至少为 \(2\)(不含 \(u,v\))。

令路径 \(2\) 上与 \(u\) 相邻的点为 \(w\),令 \(w\) 的颜色集合为 \(AB\),路径 \(2\) 上剩下的节点颜色为 \(BC\),由于节点数为奇数,所以当 \(u\) 选择 \(A\) 的时候, \(w\) 必须选择 \(B\) ,然后 \(v\) 相邻的节点就会选择 \(C\)\(v\) 就不可能选择 \(C\) 了。

剩下的第三条路径同理构造,就可以卡掉 \(u\) 选择 \(C\),而 \(v\) 选择 \(A\) 的情况了。

  1. 三条路径长度为偶数,且最多有一条路径长度为 \(2\)

则我们将最短的那条路径拿出来,该路径上所有点的颜色集合和 \(u,v\) 一起赋为 \(AC\)

\(u,v\) 被卡到必须选择相同的颜色。

剩下的两条路径显然边数至少为 \(4\),点数至少为 \(3\)

现在考虑用两条路径分别卡掉 \(u,v\) 选择相同颜色的情况。

还是令路径 \(2\) 上与 \(u\) 相邻的点为 \(w\)\(w\) 颜色集合为 \(AB\),剩下节点颜色集合为 \(BC\)…….

看明白了上面奇数的证明的应该都明白这里是怎么回事,略过了。

我们发现只有当两个点分成的三条路径是 \(2\) - \(2\) - 偶数 的时候我们才有解。

点击查看代码

#6493. graph

\(\text{Kruskal}\) 的过程中启发式合并即可。

点击查看代码

「雅礼集训 2017 Day8」价

题目要求最小价值,考虑将权值取负,做最大权闭合子图,由于图存在完美匹配,因此左部点数量一定不大于右部点数量,我们要使得左右部点数量相等,可以将左右部点的代价同时加上 \(\inf\) ,保证右部点的数量不会比左部点多即可。

点击查看代码

[JSOI2018]绝地反击

先二分答案,现在每个点能匹配一段圆弧上的点。

注意到最优方案一定存在一个点与其圆上匹配点的距离恰好为 \(mid\),否则可以更优。

稍加思考发现可以枚举这个点是哪个,这样圆上选的点就确定了,现在问题变成了判定 \(n\) 个给出点和圆上 \(n\) 个点是否存在完美匹配。

由于左部点一定是向右部点在环上的一段区间连边,暴力网络流比较慢,可以考虑 \(\text{Hall}\) 定理。

点击查看代码

铝装

题目要求的是给原图加上几条边后,给定的几个点是否在同一个 \(bcc\) 中,先对原图缩点成树,每次询问建虚树跑 \(tarjan\) 即可。

点击查看代码

[WC2015] k 小割

posted @ 2022-07-06 19:20  一粒夸克  阅读(122)  评论(0编辑  收藏  举报