05 2024 档案

摘要:背包类问题是动态规划的一类问题模型,这类模型应用广泛。背包类问题通常可以转化成以下模型:有若干个物品,每个物品有自己的重量和价值。选择物品放进一个容量有限的背包里,求出在容量不超过最大限度的情况下能拿到的最大总价值。 01 背包问题 背包类问题中最简单的是 01 背包问题:有 n 个物品,编 阅读全文
posted @ 2024-05-31 19:08 RonChen 阅读(144) 评论(0) 推荐(0) 编辑
摘要:树形 DP 即在树上进行的 DP。 常见的两种转移方向: 父节点 子节点:如求节点深度,dpu=dpfa+1 子节点 父节点:如求子树大小,dpu=1+dpv 例题:P5658 [C 阅读全文
posted @ 2024-05-21 19:16 RonChen 阅读(130) 评论(0) 推荐(0) 编辑
摘要:树的直径是指树上最远的两点间的距离,又称为树的最远点对。有两种方法求树的直径,时间复杂度都为 O(n): 做两次 DFS(或 BFS) 树形 DP 两种方法有各自的优点和缺点。 做两次 DFS(或 BFS)方法的优点是能得到完整的路径。因为它用搜索的原理,从起点 u 出发一步一步求 阅读全文
posted @ 2024-05-12 12:02 RonChen 阅读(74) 评论(0) 推荐(0) 编辑
摘要:二分图 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:19 RonChen 阅读(65) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示