摘要: https://www.luogu.com.cn/problem/P5960 问题转化:将每个差分约束条件$ (x_i - x_j \leq c_k) $转化为图中的一条边 \((j \rightarrow i)\),权值为 \((c_k)\)。 虚拟节点:为了确保图是连通的,添加一个虚拟节点 0, 阅读全文
posted @ 2025-05-19 12:42 Mikkeykarl 阅读(39) 评论(0) 推荐(0)
摘要: 2.20 [P1040 NOIP 2003 提高组] 加分二叉树 - 洛谷 (luogu.com.cn) 首先说明这是一道区间dp 我们可以定义\(dp[i,j]\)i结点到j结点为这根树的最大分数,那么可以考虑就是\([i,j]\)区间中存在k为根节点 迭代方程就为\(dp[i][j] = max 阅读全文
posted @ 2025-02-20 23:04 Mikkeykarl 阅读(11) 评论(0) 推荐(0)
摘要: 2.18 P1613 跑路 - 洛谷 (luogu.com.cn) 越来越感觉在做图论了....... 首先本题运用了倍增的思想(特地去学了一下倍增),倍增主要是运用于lca(寻找结点的最近祖先结点)的问题中。简单来说我们维护一个一维线性数组,也就是\(dp[i][j]\)表示我们从i点向右走\(2 阅读全文
posted @ 2025-02-18 19:01 Mikkeykarl 阅读(13) 评论(0) 推荐(0)
摘要: 2.17 P1352 没有上司的舞会 - 洛谷 (luogu.com.cn) \(dp[i][1/0]\)表示以i结点为根节点时,选或者不选所得到最大幸福值 我们dfs到叶子结点后在回溯时进行dp 假如我们选择了boss,那么boss的子节点就不能再选,\(dp[parent][1] += dp[s 阅读全文
posted @ 2025-02-17 23:02 Mikkeykarl 阅读(14) 评论(0) 推荐(0)
摘要: 2.16 [P1070 NOIP 2009 普及组] 道路游戏 - 洛谷 (luogu.com.cn) \(dp[i]\)表示前i个时间,所最多收集的金币 如果是\(O(n^3)\)的做法的话,我们只需要枚举起点,步数,时间就行了 但是可能是数据弱的问题,本题这样做就ac了,标答应该用优先队列维护为 阅读全文
posted @ 2025-02-16 16:14 Mikkeykarl 阅读(8) 评论(0) 推荐(0)
摘要: CF607B Zuma - 洛谷 (luogu.com.cn) \(dp[i][j]\)表示在这个\((i,j)\)区间中所使用的最短时间。 考虑转移方程,因为是回文字符串,所以当\(arr[left] != arr[right]\)时,有\(dp[left][right] = dp[left + 阅读全文
posted @ 2025-02-15 18:55 Mikkeykarl 阅读(12) 评论(0) 推荐(0)
摘要: [P3205 HNOI2010] 合唱队 - 洛谷 (luogu.com.cn) import java.io.*; import java.util.*; import java.util.zip.ZipEntry; public class Main implements Runnable { 阅读全文
posted @ 2025-02-15 18:54 Mikkeykarl 阅读(20) 评论(0) 推荐(0)
摘要: 2.11 P1775 石子合并(弱化版) - 洛谷 (luogu.com.cn) 可以说是区间dp入门的基本题目了 状态数组\(dp[i][j]\)为区间i到j合并后的消耗最小值 那么我们只需要枚举区间长度,区间起点(区间末可以通过前面两个算出),再枚举区间中间的隔断点,即可得出最大值 我们用前缀和 阅读全文
posted @ 2025-02-11 22:49 Mikkeykarl 阅读(14) 评论(0) 推荐(0)
摘要: [P2340 USACO03FALL] Cow Exhibition G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)\ 很不错的一道题,我们考虑把本题转换为01背包,因为每只奶牛只有选或者不选两种可能性 \(dp[i][j]\)记录为在前i头奶牛中,智商为j时所得到的情商最大数 阅读全文
posted @ 2025-02-10 18:17 Mikkeykarl 阅读(18) 评论(0) 推荐(0)
摘要: 2.9 [P1435 IOI 2000] 回文字串 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 先说思路,我们这里有样例Ab3bd,反着读是db3bA,我们发现重复的是b3b,不重复的是Ad两个字符,相当于我们只要补全这两个字符为偶数,就可以使他成为回文串。答案就为2。 ok, 阅读全文
posted @ 2025-02-09 23:20 Mikkeykarl 阅读(22) 评论(0) 推荐(0)