上一页 1 2 3 4 5 6 7 8 ··· 56 下一页
摘要: 题目大意 小明要在花店门口摆放 m 盆花,共有 n 种不同的花,第 i 种花最多摆放 a[i] 盆。要求: 同一种花必须摆放在一起; 不同种类的花必须按编号顺序摆放(即编号小的花在前,编号大的花在后)。 求所有可能的摆花方案数,结果对 1e6 + 7 取模。 解题思路 本题属于动态规划(DP)中的多 阅读全文
posted @ 2025-06-16 13:41 CRt0729 阅读(31) 评论(0) 推荐(0)
摘要: 题目大意 给定一个长度为 n 的序列 a[],要求统计所有子序列(可以不连续)使得子序列构成一个等差数列(包括长度为 1 或 2 的子序列)。 核心思路 动态规划(DP)定义: dp[i][d] 表示以 a[i] 结尾,且公差为 d 的等差数列的子序列个数。 由于公差 d 可以是负数,我们需要进行偏 阅读全文
posted @ 2025-06-16 11:30 CRt0729 阅读(8) 评论(0) 推荐(0)
摘要: 解题思路 这道题目要求我们通过修改最少的数字,使得给定的序列变成严格递增序列。关键点在于: 问题转化:最少修改的数字数量 = 序列总长度 - 最长严格递增子序列(LIS)的长度 LIS算法:使用O(nlogn)的贪心+二分法来高效计算最长严格递增子序列 严格递增处理:对于每个元素a[i],在LIS数 阅读全文
posted @ 2025-06-15 11:48 CRt0729 阅读(18) 评论(0) 推荐(0)
摘要: 解题思路 问题分析: 我们需要选择尽可能多的友好城市对,使得它们的航线不相交。 航线不相交的条件是:如果北岸城市A在北岸城市B的左边,那么A对应的南岸城市也必须在南岸城市B的左边。 关键观察: 将北岸城市按坐标排序后,南岸对应的城市坐标必须是一个严格递增的序列,才能保证航线不相交。 因此,问题转化为 阅读全文
posted @ 2025-06-15 11:33 CRt0729 阅读(22) 评论(0) 推荐(0)
摘要: B4016 树的直径 - 树形DP解法 解题思路 这道题目要求计算树的直径,即树中最长的无重复节点的路径长度。我们使用树形DP的方法来解决: 核心思想:对于每个节点,计算通过它的最长路径(即两个最深子树的深度之和) 递归过程:DFS遍历树,维护每个节点的最大深度和次大深度 直径更新:在回溯过程中,用 阅读全文
posted @ 2025-06-13 16:42 CRt0729 阅读(54) 评论(0) 推荐(0)
摘要: P1395 会议 - 树的重心解法 解题思路 这道题目要求找到一个村庄中的最佳会议地点,使得所有村民到该地点的距离之和最小。这实际上是经典的树的重心问题,因为树的重心具有所有节点到它的距离之和最小的性质。 关键步骤: 寻找树的重心:通过DFS遍历树,计算每个节点的子树大小,并找出删除后能使最大子树最 阅读全文
posted @ 2025-06-13 16:20 CRt0729 阅读(25) 评论(0) 推荐(0)
摘要: 解题思路 这段代码使用权值线段树高效统计三元上升子序列的数量。主要思路是: 离散化处理原始数据,将大范围的数值映射到紧凑的区间 两次遍历序列: 从左到右计算每个元素左侧比它小的元素个数(存储在ls数组) 从右到左计算每个元素右侧比它大的元素个数(存储在rs数组) 统计结果:对于每个中间元素,它能组成 阅读全文
posted @ 2025-06-13 15:26 CRt0729 阅读(12) 评论(0) 推荐(0)
摘要: 代码1注释与解题思路 解题思路 这段代码使用了一个动态维护的有序数组来求解中位数。对于每个新输入的数字,使用二分查找将其插入到正确的位置以保持数组有序。当处理到奇数个元素时,直接输出数组中间位置的元素作为中位数。 代码注释 #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2025-06-13 15:06 CRt0729 阅读(43) 评论(0) 推荐(0)
摘要: 解题思路 问题分析 这道题是一个典型的树形依赖背包问题,需要在一棵课程依赖树中选择若干门课程,满足: 选择某门课程前必须先选择它的先修课程 总共选择 M 门课程 获得的学分总和最大 动态规划状态设计 定义 dp[u][j]:表示在以 u 为根的子树中选择 j 门课程能获得的最大学分 状态转移方程 对 阅读全文
posted @ 2025-06-12 16:33 CRt0729 阅读(36) 评论(0) 推荐(0)
摘要: 解题思路 问题分析 这是一道树形动态规划问题,需要在二叉树上选择保留一定数量的树枝(边),使得保留的树枝上的苹果总数最大。关键点在于: 树枝形成一棵以根节点为根的子树 需要保留恰好 q 条树枝 树枝上的苹果数需要最大化 动态规划状态设计 定义 dp[u][j]:表示以节点 u 为根的子树中,保留 j 阅读全文
posted @ 2025-06-12 16:03 CRt0729 阅读(52) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 56 下一页