随笔分类 -  具体问题 / 单调栈和单调队列

摘要:前言 第一道有困难的斜率优化, 却到了最后一两天才做到, 无敌了 思路 首先发现瓶颈在于找一个区间的最优 s0 , 这个必须找到一些性质才能做到线性 考虑最优的分段方式, 每一段的左右两侧必定是相同的, 并且就是这一段的最佳 s0 , 证明可以考虑如果不是这样, 那么一定可以将右 阅读全文
posted @ 2025-01-13 20:00 Yorg 阅读(2) 评论(0) 推荐(0) 编辑
摘要:前言 看了几道题 树形 dp 动态维护 超级 dp 都是 C , 都不会做, 无敌了 思路 简化题意 对于每只猫, 你可以知道 ti 时刻从 1 号山出发可以恰好接到它, 有 p 次出发, 假设第 i 次出发的时 阅读全文
posted @ 2025-01-13 15:53 Yorg 阅读(7) 评论(0) 推荐(0) 编辑
摘要:前言 这些题全部口胡, 到李超线段树了再打代码 好累啊, 昨晚上不该太晚睡的, 中午他们期末也没睡, 精神萎靡 思路 先简化一下题意 对于 n 个点, 第 i 个点所在的位置为 xi , 其有 pi 个物品, 在 i 点建立仓库的费用为 ci , 阅读全文
posted @ 2025-01-10 16:50 Yorg 阅读(6) 评论(0) 推荐(0) 编辑
摘要:前言 颓颓頽, 哎大家怎么都卷飞了 事已至此, 接着打 思路 首先容易考虑到 dp 考虑令 fi 表示解决了前 i 个任务的最小费用 你发现直接转移是 O(n3) 的, 需要进一步优化 考虑费用提前计算, 当前的分组 \([L, R 阅读全文
posted @ 2025-01-10 15:44 Yorg 阅读(2) 评论(0) 推荐(0) 编辑
摘要:前言 终于进入新专题了家人们 列举一下还要补的专题 矩阵快速幂 组合数学 sos dp 不过先不管了, 除了复习, 大部分时候总要向前看的嘛 考试的时候带着耳塞, 不带感觉好吵啊, 但是一直带着会神经衰弱的, 所以只能尝试集中注意力 思路 首先转化题意 给定 n 条线段, 阅读全文
posted @ 2025-01-09 16:04 Yorg 阅读(6) 评论(0) 推荐(0) 编辑
摘要:思路 先把赛时的思路搬一下 你发现确定两个人的起始点, 其实是可以确定 Alice 的选点可能的, 考虑写个代码验证一下 具体的, 就是分成两个弧, Alice 可以选择一个弧的优势(过半), 然后其他的劣势 感觉现在是猜结论, 全靠感性, 我也不知道怎么解释这个 阅读全文
posted @ 2025-01-03 20:21 Yorg 阅读(8) 评论(0) 推荐(0) 编辑
摘要:思路 容易转化到枚举区间使得区间中的颜色都被全部选择 考虑优化 联想到数据结构处理点对贡献 考虑枚举右端点 r , 求有多少种 l 是满足条件的 首先对于 r 右边出现过的颜色, 区间中一定不能包含 令每个颜色最右边的出现位置为 mxpi , 则有 \(\foral 阅读全文
posted @ 2024-12-25 16:09 Yorg 阅读(6) 评论(0) 推荐(0) 编辑
摘要:思路 乍一看非常的复杂, 实际上也非常的复杂 令 fi,j 表示第 i 天持有 j 股的最优赚钱 我们可以枚举从什么地方转移而来, 列出柿子 \[f_{i, j} = \max \{ f_{i - 1, j}, \max_{k} [f_{i - w - 1, k} - 阅读全文
posted @ 2024-12-16 21:19 Yorg 阅读(5) 评论(0) 推荐(0) 编辑
摘要:前言 HD0X 大佬在寝室给我讲了一遍, 一点没听懂, 回机房在听了一遍, 好像懂了 思路 转化题意, 给定 n 个左开右闭区间 (li,ri], 求去除其中的 k 个后剩下的区间的并集最多可以覆盖多少个整数 首先考虑朴素 dp 容易发 阅读全文
posted @ 2024-12-15 18:52 Yorg 阅读(11) 评论(0) 推荐(0) 编辑
摘要:算法 考虑 dp 其实谁都知道是 dp , 但是推不出来啊 这个问题的关键点在于注意到每次往回走, 必定需要走到之前只访问过一次的位置, 这样算法才有正确性 容易的, 令 fi 表示游览结束前 i 个点的最小时间花费, 由上面的结论可知, 对于 阅读全文
posted @ 2024-11-22 19:58 Yorg 阅读(6) 评论(0) 推荐(0) 编辑
摘要:算法 考虑 dpfi,j 表示前 i 个数中, 分成 m 组的最小花费 关于转移, 我们有 \[f_{i, j} = \min(f_{k, j - 1} + j \times \rm{Sum}(k + 1, i) + \max(k + 1, i 阅读全文
posted @ 2024-11-21 08:34 Yorg 阅读(5) 评论(0) 推荐(0) 编辑
摘要:算法 题意可以转化成 给定一个基环树森林, 求每颗基环树上的直径长度之和 找环 按照基环树的方法找即可 求直径 (i) 直径不经过环 对于以环上每一个点的子树, 记录直径即可 (ii) 直径经过环 断环为链, 考虑单调队列处理, 具体的 关于为什么需要断环为链: 方便快速处理环上两点间的距离, 显然 阅读全文
posted @ 2024-11-01 20:59 Yorg 阅读(8) 评论(0) 推荐(0) 编辑
摘要:算法 基础 发现插入总在最后一个进行 单调栈维护一个区间的 max/min 单调队列维护以一个值为 max/min 的最大区间 显然可以使用单调栈维护 其原理为 当 a,bseq,a<b,pos[a]<pos[b] 那么显然 a 没有卵 阅读全文
posted @ 2024-10-02 10:10 Yorg 阅读(9) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示