随笔分类 - 图论
1
摘要:P9150 邮箱题 Alex_Wei 做法妙。 思路 首先我们可以建出两张图,一张是按照题目的要求形成的有向图,一张是由有向边 \((i,k_i)\) 形成的钥匙图。 在钥匙图中,每个点有且仅有一入度一出度,其形成了若干个环。 考虑当前点 \(i\),模拟题目过程不断跳点,跳出的序列为 \(a=\{
阅读全文
摘要:AT cf17 final J Tree MST 考场上想出的黑题,然而写挂了…… 思路 考场推出 boruvka 算法,会的直接跳过就好。 结论:一个点向另外一个点连出的最小边,一定在最小生成树上。 证明:参考 Kruskal 生成树的流程,若当前边(最小边)不在最小生成树上,表明边的两端已经在同
阅读全文
摘要:CF207C3 Game with Two Trees 妙到家的树上字符串问题。 约定 树 \(1\):\(t_1\)。 树 \(2\):\(t_2\)。 \(S_{1/2}(i,l)\) 为树 \(1/2\) 上节点 \(i\) 沿父亲走经过 \(l\) 条边所构成的字符串。 \(E_{1/2}
阅读全文
摘要:ARC143D Bridges 巧妙的图论题。 思路 分析题目,发现很像拆点。 由于拆点要设置出入点,这里我们也把 \(a_i\) 设成入点,把 \(a_i+n\) 设成出点,再次分析问题。 考虑我们把拆的点合并成一个点,对于 \((a_i,b_i)\) 建边,建出图 \(G\)。 不难发现,原图是
阅读全文
摘要:ARC143E Reversi 简单的分析题。 思路 如果分析一个节点状态,那么时不方便的。但可以注意到,状态的改变好相连的边数有关。 从叶子节点开始考虑。 白色:在父亲翻转前选中,并改变父亲状态。 黑色:在父亲翻转后选中。 这里可以用拓扑排序建边描述这个问题。 我们把叶子节点解决后,在按照一样的方
阅读全文
摘要:虚树学习笔记 虚树,顾名思义,是虚拟的树。 在关于树的问题中,虚树起到缩小题目规模,优化算法的作用。 算法思路 引入 P2495 SDOI2011 消耗战 设 \(dp[i]\) 为 \(i\) 与所有该子树内资源丰富节点不联通的代价。 如果 \(u\) 的儿子 \(v\),不是资源丰富节点。 \[
阅读全文
摘要:圆方树学习笔记 圆方树是优秀的图论算法,从仙人掌图向无向图扩展,利用割点和点双联通分量的性质,实现了图向树的转换。 对仙人掌的处理:圆方树——处理仙人掌的利器 而且实现十分简单 算法思路 前置知识 割点和桥,点双联通分量。 思路 对于一个无向图,圆方树理解可以如下: 原图中点是圆点。 图中的每一个点
阅读全文
摘要:floyd 算法 是图论中较为简单的最短路算法,但在某些方面远超最短路范围。 算法思路 定义 \(f[x][y]\) 为 \(x\) 到 \(y\) 节点的最短路径。 初始化:若存在边 \((x,y)\) 则 \(f[x][y]\) 等于边长度;若不存在,为 \(+\infty\)。 特别的,\(f
阅读全文
摘要:2023NOIP A层联测32 T3 sakuya 虚伪的期望,彬彬赛时都能 A 的数学题。 思路 考虑算出来总的花费,再除以 \(m!\) 求期望。 对于某个排列的花费为:\(\sum\limits_{i=2}^m dis(a_{i-1},a_i)\)。 但考虑一下,这个式子重要吗? 我们的目的是
阅读全文
摘要:2023NOIP A层联测31 T4 民主投票 思维好题。 思路 首先可以设 \(s\) 每个人最多获得的票数,一开始所有点都把自己的票投给自己父亲。 如果一个点的票数超过 \(s\) 了,那么这个点肯定要把票分给他的父亲。 设 \(f_{u,s}\) 为 \(u\) 点在最多获得 \(s\) 票的
阅读全文
摘要:2-SAT 引子 有 \(2n\) 种药物,分成 \(n\) 对,每种药物恰好属于一对。现有一种治疗方法,每一对药至少吃一种,但有某些药不可以两个一起吃,求任意一种合法的吃药方案。 这样的现实问题可以转换为一个布尔方程组表示,设 \(a\),\(a=1\) 表示吃 \(a\) 种药,\(a=0\)
阅读全文
摘要:2023NOIP A层联测26 T4 abstract 乱证明求性质的光速幂优化题。 思路 对于每一个节点,到该节点的子树内的叶子节点的路径中(包括路径上的点),出现的值只有 \(k\times(\log V+\log V)\) 个。 那么在以该点为终点,以子树内节点为起点的路径中,取值只有 \(k
阅读全文
摘要:2023NOIP A层联测25 T4 滈葕 配血实验与2-SAT。 思路 \(z=1\) 表示配血实验发生凝集反应,设 \(a_i,b_i\) 分别表示第 \(i\) 个人有无凝集原 A,B。(无凝集原 A,肯定有抗 A 凝集素,B同理)那么发生反应的必要条件是 \(a_x \and \neg a_
阅读全文
摘要:离线快速LCA(最近公共祖先) Tarjan算法 前言 对于 OIer 来说,LCA 一直是处理树上问题的好帮手,无论是倍增还是树剖都有着优秀的 \(\log n\) 的复杂度。不过由于我们(数据规模)的上进,需要更快速求 LCA,于是就有了…… 反正之前打死我都不相信这玩意能离线,还能 O(1)
阅读全文
摘要:NOIP2023模拟9联测30 T4 金牌 LCA 还能 \(O(1)\)…… 思路 思路非常简单,可考试就是想歪成统计指数了…… 将一条穿过 \((x,y)\) 的路径 \((u,v)\) 分为 \(u \to x \to y \to v\),所以说对答案的贡献为: \[2^{dis(u,x)+d
阅读全文
摘要:2023NOIP A层联测16 T3 货物运输 题目描述说这是一个仙人掌图,通常将问题转换为环和树的问题在使用圆方树来解决。 树解法 令 \(a_i=s_i-\frac{\sum s_i}{n}\) ,最终令 \(a_i=0\)。 通过树形 dp,从叶子节点向上转移,叶子节点要么向父亲拿资源,要么向
阅读全文
1

浙公网安备 33010602011771号