摘要: P1967 [NOIP2013 提高组] 货车运输 原题地址 思路: 由于题目要求的是使两点之间的最小边权最大,所以可以构造最大生成树(最大生成树一定是最大瓶颈生成树,而瓶颈生成树上两点之间的路径,在原图中的所有路径中,最小边权仍然最大,即满足题目要求,详见 https://oi-wiki.org/ 阅读全文
posted @ 2024-04-02 12:32 gctiruct 阅读(13) 评论(0) 推荐(0) 编辑
摘要: \(\text{LCA}\) 定义 性质: 在有根树上,\(\text{LCA}\) 是指一个点集的公共祖先中深度最大的点。 \(\text{LCA}\) 具有可并性。 \(\text{LCA}(u,v)\) 在 \(u,v\) 间的路径上。 设 \(h(i)\) 表示 \(i\) 与根的距离,则两 阅读全文
posted @ 2024-03-28 10:09 gctiruct 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 树的直径 定义 性质: 树的直径是树上最长的链,即树上任意两点间距离的最大值,可能有多条。 若树无边权,则所有直径的中点相同。 求法: 两次 \(DFS\)。 第一次,以任意节点为根,搜索到距离自己最远的点,这个点就是直径的一个端点。 第二次,以第一次求得的点为根,搜索到距离自己最远的点,这个点就是 阅读全文
posted @ 2024-03-27 16:24 gctiruct 阅读(11) 评论(0) 推荐(0) 编辑
摘要: ABC330题解 AtCoder Beginner Contest 330 A - Counting Passes 思路: 枚举一遍,当前数大于\(L\)使\(ans+1\)即可. 代码: #include<iostream> #define int long long using namespac 阅读全文
posted @ 2023-11-26 22:21 gctiruct 阅读(47) 评论(1) 推荐(1) 编辑
摘要: CF1644D Cross Coloring 题意: 在一个 \(n\) 行 \(m\) 列的网格里执行 \(q\) 次操作,每次操作在 \(k\) 种颜色中 (没有初始颜色) 选择一种给第 \(x_i\) 行和第 \(y_i\) 列染色且覆盖原有颜色,问最终染色方案数 做法: 因为后染的色会覆盖先 阅读全文
posted @ 2023-11-05 17:07 gctiruct 阅读(12) 评论(0) 推荐(0) 编辑