会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
jyssh
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
55
下一页
2025年6月15日
P2782 友好城市 LIS / NLOGN
摘要: 解题思路 问题分析: 我们需要选择尽可能多的友好城市对,使得它们的航线不相交。 航线不相交的条件是:如果北岸城市A在北岸城市B的左边,那么A对应的南岸城市也必须在南岸城市B的左边。 关键观察: 将北岸城市按坐标排序后,南岸对应的城市坐标必须是一个严格递增的序列,才能保证航线不相交。 因此,问题转化为
阅读全文
posted @ 2025-06-15 11:33 CRt0729
阅读(15)
评论(0)
推荐(0)
2025年6月13日
B4016 树的直径
摘要: B4016 树的直径 - 树形DP解法 解题思路 这道题目要求计算树的直径,即树中最长的无重复节点的路径长度。我们使用树形DP的方法来解决: 核心思想:对于每个节点,计算通过它的最长路径(即两个最深子树的深度之和) 递归过程:DFS遍历树,维护每个节点的最大深度和次大深度 直径更新:在回溯过程中,用
阅读全文
posted @ 2025-06-13 16:42 CRt0729
阅读(53)
评论(0)
推荐(0)
P1395 会议 - 树的重心
摘要: P1395 会议 - 树的重心解法 解题思路 这道题目要求找到一个村庄中的最佳会议地点,使得所有村民到该地点的距离之和最小。这实际上是经典的树的重心问题,因为树的重心具有所有节点到它的距离之和最小的性质。 关键步骤: 寻找树的重心:通过DFS遍历树,计算每个节点的子树大小,并找出删除后能使最大子树最
阅读全文
posted @ 2025-06-13 16:20 CRt0729
阅读(21)
评论(0)
推荐(0)
P1637 三元上升子序列 权值线段树
摘要: 解题思路 这段代码使用权值线段树高效统计三元上升子序列的数量。主要思路是: 离散化处理原始数据,将大范围的数值映射到紧凑的区间 两次遍历序列: 从左到右计算每个元素左侧比它小的元素个数(存储在ls数组) 从右到左计算每个元素右侧比它大的元素个数(存储在rs数组) 统计结果:对于每个中间元素,它能组成
阅读全文
posted @ 2025-06-13 15:26 CRt0729
阅读(12)
评论(0)
推荐(0)
P1168 中位数 vector/priority_queue/权值线段树
摘要: 代码1注释与解题思路 解题思路 这段代码使用了一个动态维护的有序数组来求解中位数。对于每个新输入的数字,使用二分查找将其插入到正确的位置以保持数组有序。当处理到奇数个元素时,直接输出数组中间位置的元素作为中位数。 代码注释 #include<bits/stdc++.h> using namespac
阅读全文
posted @ 2025-06-13 15:06 CRt0729
阅读(35)
评论(0)
推荐(0)
2025年6月12日
P2014 [CTSC1997] 选课 树形dp
摘要: 解题思路 问题分析 这道题是一个典型的树形依赖背包问题,需要在一棵课程依赖树中选择若干门课程,满足: 选择某门课程前必须先选择它的先修课程 总共选择 M 门课程 获得的学分总和最大 动态规划状态设计 定义 dp[u][j]:表示在以 u 为根的子树中选择 j 门课程能获得的最大学分 状态转移方程 对
阅读全文
posted @ 2025-06-12 16:33 CRt0729
阅读(29)
评论(0)
推荐(0)
P2015 二叉苹果树 树形dp
摘要: 解题思路 问题分析 这是一道树形动态规划问题,需要在二叉树上选择保留一定数量的树枝(边),使得保留的树枝上的苹果总数最大。关键点在于: 树枝形成一棵以根节点为根的子树 需要保留恰好 q 条树枝 树枝上的苹果数需要最大化 动态规划状态设计 定义 dp[u][j]:表示以节点 u 为根的子树中,保留 j
阅读全文
posted @ 2025-06-12 16:03 CRt0729
阅读(43)
评论(0)
推荐(0)
P1352 没有上司的舞会
摘要: 解题思路 这是一道经典的树形动态规划问题。我们需要在一棵树中选择一些节点(职员),使得: 不能同时选择一个节点和它的直接父节点(上司和下属不能同时参加) 选择的节点的权值(快乐指数)之和最大 动态规划的状态设计: dp[u][0] 表示不选择节点 u 时,以 u 为根的子树能获得的最大快乐值 dp[
阅读全文
posted @ 2025-06-12 15:37 CRt0729
阅读(38)
评论(0)
推荐(0)
2025年6月11日
P1272 重建道路
摘要: 解题思路 这道题要求我们找到最少需要切断多少条道路,才能分离出一个恰好包含 P 个节点的子树。这是一个典型的树形动态规划问题。 关键思路: 树形结构处理:题目给出的是一棵树,我们需要递归处理每个子树。 动态规划状态定义:dp[i][j]表示以节点i为根的子树中,分离出j个节点需要切断的最少道路数。
阅读全文
posted @ 2025-06-11 21:18 CRt0729
阅读(19)
评论(0)
推荐(0)
P1137 旅行计划
摘要: 解题思路 这道题目要求我们为每个城市i计算以i为终点的最长路径长度。由于题目中给出的道路方向表示城市x在城市y的西面(即x→y是有向边),所以可以将城市和道路建模为一个有向无环图(DAG)。在这种情况下,最长路径问题可以通过拓扑排序结合动态规划来解决。 关键点 拓扑排序:由于图是有向无环图,可以使用
阅读全文
posted @ 2025-06-11 20:50 CRt0729
阅读(21)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
55
下一页
公告