会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
RonChen
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
下一页
2024年6月10日
倍增法
摘要: 倍增法与二分法是“相反”的算法,二分法是每次缩小一半,从而以 \(O(\log n)\) 的速度快速缩小定位到解;倍增法是每次扩大一倍,从而以 \(O(2^n)\) 的速度快速地扩展到解空间。 倍增就是“成倍增长”,很多时候倍增的实现利用的是二进制本身的倍增特性。把一个数 \(n\) 用二进制展开,
阅读全文
posted @ 2024-06-10 08:21 RonChen
阅读(464)
评论(0)
推荐(0)
2024年6月9日
树的DFS序
摘要: 例题:P9305 「DTOI-5」校门外的枯树 定义 \(S_i\) 为按照 DFS 顺序访问节点时,到达节点 \(i\) 时累计的边权前缀和(注意这里的 DFS 顺序需要严格按照题目给定的“从左往右”遍历子节点的顺序),设 \(s_i\) 为从根节点到节点 \(i\) 的路径上的边权和。 当选择路
阅读全文
posted @ 2024-06-09 21:44 RonChen
阅读(65)
评论(0)
推荐(0)
2024年5月31日
背包问题
摘要: 背包类问题是动态规划的一类问题模型,这类模型应用广泛。背包类问题通常可以转化成以下模型:有若干个物品,每个物品有自己的重量和价值。选择物品放进一个容量有限的背包里,求出在容量不超过最大限度的情况下能拿到的最大总价值。 01 背包问题 背包类问题中最简单的是 01 背包问题:有 \(n\) 个物品,编
阅读全文
posted @ 2024-05-31 19:08 RonChen
阅读(265)
评论(0)
推荐(0)
2024年5月21日
树形DP
摘要: 树形 DP 即在树上进行的 DP。 常见的两种转移方向: 父节点 \(\rightarrow\) 子节点:如求节点深度,\(dp_u = dp_{fa} + 1\) 子节点 \(\rightarrow\) 父节点:如求子树大小,\(dp_u = 1 + \sum dp_v\) 例题:P2052 [N
阅读全文
posted @ 2024-05-21 19:16 RonChen
阅读(231)
评论(0)
推荐(0)
2024年5月12日
树的直径
摘要: 树的直径是指树上最远的两点间的距离,又称为树的最远点对。有两种方法求树的直径,时间复杂度都为 \(O(n)\): 做两次 DFS(或 BFS) 树形 DP 两种方法有各自的优点和缺点。 做两次 DFS(或 BFS)方法的优点是能得到完整的路径。因为它用搜索的原理,从起点 \(u\) 出发一步一步求
阅读全文
posted @ 2024-05-12 12:02 RonChen
阅读(235)
评论(0)
推荐(0)
2024年5月4日
二分图染色
摘要: 二分图 bool dfs(int u, int c) { if (color[u] == c) return true; else if (color[u] == 3 - c) return false; color[u] = c; for (int v : graph[u]) if (!dfs(v
阅读全文
posted @ 2024-05-04 11:20 RonChen
阅读(137)
评论(0)
推荐(0)
2024年4月5日
最小生成树
摘要: 最小生成树是有边权的无向图中的一个常见问题。 在无向图 G(V,E) 中,把连通而且不含有环路的一个子图称为一棵生成树,它包含全部 n 个点和 n-1 条边。边权之和最小的树称为最小生成树(Minimal Spanning Tree, MST)。 MST 的计算用到了一个基本性质:一个图的 MST
阅读全文
posted @ 2024-04-05 20:53 RonChen
阅读(278)
评论(0)
推荐(0)
DAG与拓扑排序
摘要: 现实生活中我们经常要做一连串事情,这些事情之间有顺序关系或依赖关系,做一件事情之前必须先做另一件事,如安排客人的座位、穿衣服的先后、课程学习的先后等。这些事情可以抽象为图论中的拓扑排序(Topological Sorting)问题。 给定一张有向无环图(在有向图中,从一个节点出发,最终回到它自身的路
阅读全文
posted @ 2024-04-05 14:58 RonChen
阅读(339)
评论(0)
推荐(0)
2024年3月16日
并查集
摘要: 并查集是一种可以动态维护若干个不重叠的集合,并支持合并与查询的数据结构。 例题:P1551 亲戚 题目描述: 如果 \(x\) 和 \(y\) 是亲戚,\(y\) 和 \(z\) 是亲戚,那么 \(x\) 和 \(z\) 也是亲戚。如果 \(x\) 和 \(y\) 是亲戚,那么 \(x\) 的亲戚都
阅读全文
posted @ 2024-03-16 11:20 RonChen
阅读(187)
评论(0)
推荐(0)
2024年2月17日
Codeforces Round 922 (Div. 2)
摘要: A. Brick Wall 因为水平砖块的长度至少为 \(2\),所以一行中水平砖块最多放 \(\lfloor \frac{m}{2} \rfloor\) 块,因此答案不超过 \(n \cdot \lfloor \frac{m}{2} \rfloor\)。如果 \(m\) 是奇数,用长度为 \(\l
阅读全文
posted @ 2024-02-17 21:15 RonChen
阅读(41)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
下一页
公告