随笔分类 - 图论
摘要:好题当赏! 容易证明:一个点的独特城市一定在从这个点出发的最长链上,而树上距离点 \(i\) 最远的点,一定是树的直径的两个端点之一。 于是,我们找出一条树的直径,并从它的两个端点各做一次 \(dfs\),企图找到最优解。在 \(dfs\) 时,我们默认此时作为根节点的 \(rt\) 距离所有点最远
阅读全文
摘要:这道题似乎做法多得离谱,因为在学长链剖分,所以写一篇长链剖分题解。 容易发现假如 \(b\) 比 \(a\) 更加厉害,那么答案就是 \(\min(dep_a-1,k)\times(sz_a-1)\),考虑 \(a\) 比 \(b\) 更加厉害的情况。 我们设 \(f'_{u,i}\) 表示 \(\
阅读全文
摘要:一、SAT 问题简介 在日常的学习生活中,我们经常遇到如下问题: 在一场同学聚会上,你打算邀请 \(n\) 对 \(cp\) 参加,第 \(i\) 对 \(cp\) 的编号为 \((i,i+n)\)。但是,有一些人可能有冲突,有冲突的人不能同时参加聚会。你在每对 \(cp\) 都要挑选恰好一人参加聚
阅读全文
摘要:在 \(2-SAT\) 计数里应该算是史诗级经典了。 容易想到将后勤和卧底分成两种状态,用 \(2-SAT\) 暴力建边。建边方式略去不表。 关键问题在于计数。我们似乎并没有专门的方法去进行这类计数,因此只能分析题目的关键性质了。 显然,我们容易求出一组特解,满足后勤集合为 \(S\),卧底集合为
阅读全文
摘要:发现 \(x\) 只有 \(8\) 个,想到暴力枚举每个 \(x\) 是 \(b\) 还是 \(c\)(这样就将 \(ABC\) 全覆盖了),时间复杂度 \(\times 2^d\),可以接受。 考虑建边。建边可以分为 \(3\) 种情况: \(i\) 本身就不能选 \(h_i\)。那这条要求就是没
阅读全文
摘要:容易发现题目给出的三大条件(难兄难弟、死神来了、不能复活)都可以用经典 \(2-sat\) 建图解决。假如我们对于每个火星人都拆成 \(T+1\) 份,那点数肯定爆炸,所以考虑对点进行合并,只将在该火星人可能因为外力发生改变或能改变其他火星人生死的时间作为断点(当然,此处不包括不能复活)。 具体连边
阅读全文
摘要:一个字符串最多有一个 \(?\),相当于每个字符串最多有两个状态,显然 \(2-sat\)。 看到前缀想到 \(trie\)。考虑将所有可能出现在答案中的字符串全都塞到 \(trie\) 树里,那么对于一个字符串状态 \(x\) 的末尾对应的点 \(cur\),假如选择了这种状态,\(cur\) 的
阅读全文
摘要:好久没有做过这么巧妙的题目了,开心捏O(∩_∩)O~ 由于传送的 \(y,z\) 坐标自选,所以实际上对于一个点给出的坐标 \((a_i,b_i,c_i)\) 以及这个点调查的花费 \(cs_i\),我们只需要维护 \(a_i,cs_i\) 即可。那么设规定的 \(x\) 值为 \(x_0\),那么
阅读全文
摘要:\(wqs\) 二分确实强悍,但是费用流还是好理解。 容易想到建立两个点 \(A,B\),表示宝贝球和超级球。那么首先要从 \(s\) 向 \(A,B\) 分别连一条流量为 \(a/b\),费用为 \(0\) 的边。那么从 \(A,B\) 向其他每个宝贝 \(i\) 分别连一条流量为 \(1\),费
阅读全文
摘要:成事不说,遂事不谏,既往不咎。(好久没写题解了,影响真的很大。)
阅读全文
摘要:首先对于一个边双连通分量,它一定有一个环,将这个无向环换成有向环,我们就构造出了一种可以使边双连通分量内任意两点都可互达的情况。 那么问题又一次来到了树的情况。注意力惊人的注意到最优策略一定是一堆点到一个点,一个点再到一堆点。直接简单树形 \(dp\) 结合简单 \(01\) 背包即可。 时间复杂度
阅读全文
摘要:首先对于不是一个联通块的点,设联通块个数为 \(c\),则我们在最后需要通过 \(c-1\) 次操作使其联通。 我们势必是要化边双为点的,所以我们跑一次边双连通分量。设一共有 \(k\) 个边双连通分量,则我们需要进行 \(n-k\) 次操作去掉所有边双连通分量。剩下的就是一棵树了。 考虑每一次合并
阅读全文
摘要:显然我们可以从每种长度中选出来一个点,使得其它点都连向它们,且他们之间相互连通。 首先考虑什么情况下会无解。设 \(e_{i,j}\) 表示长度为 \(i\) 的数和长度为 \(j\) 的数间连的边数还有几条没用,\(d_i\) 表示长度为 \(i\) 的数还剩几个。可以证明,当且仅当存在一个点集
阅读全文
摘要:我们先考虑只有绿边的情况。那么显然,只要一个点在 \(n-1\) 次讯问中与它有关的边都为出边,那么这个点一定是一个合法的答案。 现在出现了粉边。我们先将点缩成强连通分量,再进行上述操作。由于不能在一条路径中同时出现粉边和绿边,所以我们在确认一个点不可行之后,要将在遍历到它时的所有横插出边和树出边全
阅读全文
摘要:容易发现一定能构造出一种正确答案,满足先横着走到头再向下走,或者先向下走再横着走到头是最长路。 那么可以想到枚举两头,背包中间的 \(O(n^4A)\) 做法。 我们可以继续注意力惊人的注意到左上和右下角一定是最小值和次小值,这样时间复杂度就骤减到 \(O(n^2V)\) 了。 #include<b
阅读全文
摘要:想象力惊人的想到生成树,因此对于一种 \(c\) 序列,容易求出只有根不满足要求的构造,且只有树边有权。考虑通过非树边们修改根。 对于一条非树边(都是返祖边),假如我们给它的权值 \(+1\),那么对于奇环来说,\(\Delta root=\pm 2\);偶环没有变化。 所以我们直接找到奇环,分别尝
阅读全文

浙公网安备 33010602011771号