Loading

随笔分类 -  具体问题 / 线段树

摘要:思路 首先简单分析一下问题 首先我们要为每只兔子选择一个 \(st_i \in [bas_i + L, bas_i + R]\) 表示其起始位置 然后我们要找到最小的 \(t\), 使得 \(\Big({\times d} + [L, R]\Big)^t\) 之后能到达一个 \(\bmod \, n 阅读全文
posted @ 2025-08-20 11:18 Yorg 阅读(35) 评论(0) 推荐(0)
摘要:前言 策略就是放弃模拟赛, 搞完这两天的授课内容 这样后面勉强还能跟上 \(\text{号家军 OJ S0039 堆}\) 策略 停滞 心态 题解仅供参考 思路 按题意直接做就可以达到 \(\mathcal{O} (qn \log n)\) 首先简化问题 \(q\) 个询问, 每个询问 \(n\) 阅读全文
posted @ 2025-07-21 19:30 Yorg 阅读(37) 评论(0) 推荐(0)
摘要:前言 本来说看看算了的, 这个太猎奇了必须想一下 思路 这种询问是一个区间的, 确实不好搞 先不管询问区间 考虑 \(x\) 是有单调性的, 从这里入手 如果我们钦定 \(x_j\), 现在要找到 \(\min\limits_{i < j} (x_j - x_i)(w_i + w_j)\), 怎么做 阅读全文
posted @ 2025-06-30 15:12 Yorg 阅读(22) 评论(0) 推荐(0)
摘要:前言 没想到双指针, 只能度过相对失败的一生 思路 双指针 这好像没啥好说的, 维护一个滑动窗口, 滑着走即可 复杂度显然是 \(\mathcal{O} (nm)\) 离线算法 想到扫 \(l, r\) 都基本不能做啊 考虑扫值域 不难发现问题转化成 \(\mathcal{O} (n^2)\) 次加 阅读全文
posted @ 2025-06-20 21:14 Yorg 阅读(17) 评论(0) 推荐(0)
摘要:前言 这题赛时是过了的, 非常磕磕绊绊, 在这理一下 思路 首先题解做法 不难发现每次落脚只可能是在萝卜或者大跳的位置 其中「大跳的位置」是不好维护的 这个时候我们发现只要指定要在哪些位置落脚, 大跳的数量是可以确定的, 于是这样列出 \(\rm{dp}\), 用一些技巧优化 然后我的做法比较神奇 阅读全文
posted @ 2025-06-18 08:40 Yorg 阅读(26) 评论(0) 推荐(0)
摘要:思路 需要找点性质 直接贪显然假了 考虑有没有什么固定的最优解 注意到一种方案是 对于 \(a_i, a_{i + 1}\), 我们可以通过交换这俩然后再吃一个 \(a_{i + 1}\) 来超过 \(i\) 因此最优解有这样的构造方式 首先将整个 \(a\) 分成若干段, 然后在其中找一个元素, 阅读全文
posted @ 2025-05-06 20:20 Yorg 阅读(68) 评论(0) 推荐(0)
摘要:前言 神秘, 怎么赛时还拥有 \(\textrm{key observation}\) 那个啥, 记得分配 思路 首先考虑把 \(\max\) 拆开 如果 \(a_x + a_y \geq b_x + b_y\), 即 \(a_x - b_x \geq b_y - a_y\), 那么最后的取值是 \ 阅读全文
posted @ 2025-04-29 20:16 Yorg 阅读(39) 评论(0) 推荐(0)
摘要:前言 状态不佳 一定要做实事 思路 首先考虑分析问题 加入 / 删除三元组 \(\{F_i, T_i, B_i\}\), 每次操作后, 求 \(\sum_{i = 1}^{k} |T_i (F_i - f) + B_i|\) 的最小值 首先这样一类自己可以确定一个变量的问题, 不难想到函数转化 具体 阅读全文
posted @ 2025-04-21 21:04 Yorg 阅读(25) 评论(0) 推荐(0)
摘要:前言 当思维体操了, 顺手尝试一下新的补题方法 思路 首先需要观察到询问序列中的最大值是解决问题的关键 利用这个显然可以 \(\mathcal{O} (1)\) 求出分两段的最优解, 需要计算 \(\rm{RMQ}\) \(\mathcal{O} (n \log n) - \mathcal{O} ( 阅读全文
posted @ 2025-04-13 21:13 Yorg 阅读(30) 评论(0) 推荐(0)
摘要:前言 发现我怎么昨天还在这个学校 思路 不难有 \(\mathcal{O} (n^2)\) 的 \(\rm{check}\) 考虑优化 可以发现我们需要知道任意一个点作为根时, 其不同子树中特殊点的数量 这个东西可以尝试使用值域线段树进行维护, 显然是在树上做线段树合并一类的 这是双 \(\log\ 阅读全文
posted @ 2025-04-13 19:37 Yorg 阅读(31) 评论(0) 推荐(0)
摘要:前言 很经典的优化题 显然需要找到性质, 场上框框想 \(\rm{T1}\) 没时间了, 在这里补一下 思路 题意 一轮冒泡排序定义为 for (int i = 1; i < n; i++) if (a[i] > a[i + 1]) std::swap(a[i], a[i + 1]); 询问 qqq 阅读全文
posted @ 2025-04-09 14:45 Yorg 阅读(33) 评论(0) 推荐(0)
摘要:前言 对于模拟赛 \(\rm{T3}\), 我们深刻弄懂暴力, 然后简单看一下正解 对于 \(\textrm{[NOI 2010]}\) 超级钢琴, 只关注小问题 思路 首先, 转化问题 题意 给定数组 ppp, 询问 mmm 次, 每次询问提取 [L,R][L, R][L,R] 区间, 查询 al 阅读全文
posted @ 2025-04-09 07:50 Yorg 阅读(42) 评论(0) 推荐(0)
摘要:前言 也算比较充分地休息了, 好好学 思路 好像不少见到这种类型的问题, 不过一般都是子问题, 很少见到这种直接考的 那么就基于这道题看下有什么性质 首先是假设我们当前要在现在的基础上对 \(a_i, a_{i + 1}\) 进行交换, 不难发现直接做不好讨论, 不妨分两类处理 我们首先讨论 \(a 阅读全文
posted @ 2025-04-06 16:17 Yorg 阅读(44) 评论(0) 推荐(1)
摘要:前言 感觉很强, 当然必须自己推一推更好 据据检验 定义操作 (约束) 和开销 / 收益, 要求最值化开销 / 收益 模拟操作, 找性质 将约束条件数学化 方便高效维护 最优化问题的瓶颈, 考虑找最优解的性质来处理 逐元素处理 先找到统一的构造方式 直接处理 推导动态规划 枚举开销对应的值\((\) 阅读全文
posted @ 2025-03-12 17:18 Yorg 阅读(36) 评论(0) 推荐(0)
摘要:思路 题意 有一个长度为 2×n+12 \times n + 12×n+1 的整数列表 aaa 初始恰好为 1∼2×n+11 \sim 2 \times n + 11∼2×n+1 的排列; 有一个集合 S\mathbb{S}S 初始为空, 进行 n+1n + 1n+1 次操作, 第 iii 次操作如 阅读全文
posted @ 2025-03-07 10:01 Yorg 阅读(70) 评论(0) 推荐(0)
摘要:好题 思路 题意 给定 pip_ipi​ 表示大小为 iii 的圆盘在第几根柱子 (pi∈{1,2,3})\Big(p_i \in \{1, 2, 3\}\Big)(pi​∈{1,2,3}) 圆盘大小是一个排列 一个问题被定义为, 只考虑 p[L,R]p_{[L, R]}p[L,R]​ , 也就是对 阅读全文
posted @ 2025-03-05 10:59 Yorg 阅读(23) 评论(0) 推荐(0)
摘要:前言 确实是树上问题中一个非常神奇的部分 好好学一下 思路 点分树的性质其实还是比较好理解, 这里重点解释点分树的两棵段树是怎么回事, 具体如何维护 首先要知道的是, 维护两棵段树的目的是为了去除同子树中的贡献 贡献计算(查询) fai\textrm{fa}_ifai​ 表示点分树上的父子关系 su 阅读全文
posted @ 2025-02-19 21:16 Yorg 阅读(31) 评论(0) 推荐(0)
摘要:思路 很像大模拟 赛时想法 类似括号树的结构, 然后合并树上点可以很快地做出来 但是好像并不好写, 所以还是写正常做法 无撤销操作 首先考虑只有 1,21, 21,2 操作, 侧重于计算合法括号子串的个数 考虑每一次变化的时候是简单操作, 记录一下之前的 ansansans 和最外层括号的数量 cn 阅读全文
posted @ 2025-02-11 21:01 Yorg 阅读(44) 评论(0) 推荐(0)
摘要:前言 更重要的是研究这题的部分分, 赛时居然可以做到 \(1 \ \rm{h}\) 没有拿到任何一个特殊性质 发现以前一直用的大标题很碍眼, 改了, 下课把之前的格式也改一下 思路 暴力 容易模拟, 做到 \(25 \%\) 特殊性质 \(\rm{A}\) 思路 你发现每一个区间都是其后面区间的前缀 阅读全文
posted @ 2025-01-17 17:59 Yorg 阅读(30) 评论(0) 推荐(0)
摘要:思路 首先不考虑修改, 询问怎么做? 考虑 \(\rm{dp}\) 令 \(f_{i, 0/1}\) 表示 \(T[1:i]\) 中以 \(0/1\) 结尾的字符串的合法子序列数量 转移是容易的 \[\begin{cases} \begin{align*} & T_i = 0, \begin{cas 阅读全文
posted @ 2025-01-10 08:24 Yorg 阅读(30) 评论(0) 推荐(0)