随笔分类 -  题解

摘要:很经典但是很好的题目。/qiang 标签:线段树。 数轴上有一些关键点,不同的关键点可能在同一坐标。关键点的坐标均为整数。 支持两种操作: 删去 / 添加一些关键点。 取一个点。使得它与 \([l, r]\) 范围内所有关键点的距离最小。求最小距离。 \(\text{关键点的坐标数}\le 3\ti 阅读全文
posted @ 2024-10-09 21:42 White_Way 阅读(44) 评论(0) 推荐(0)
摘要:cnblogs 好题。爱做。 标签:二分。 求最大的最小值,考虑二分答案。然后问题就转化成了(求 \(n\) 次):有两种物品,每种物品有一个代价和价值,求获得不少于给定价值所需的最小代价。 下文记物品的代价为 \(w\),价值为 \(v\),所拿的数量为 \(cnt\)。 假设有两种物品 \(S\ 阅读全文
posted @ 2024-10-06 09:56 White_Way 阅读(58) 评论(0) 推荐(0)
摘要:P9912 [COCI 2023/2024 #2] Zatopljenje - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 线段树。 离线处理询问,将询问的高度从大到小排序,每次往线段树中加入高度大于当前询问高度的点,然后做一遍区间连续段个数就可以了。code: #include  阅读全文
posted @ 2024-09-21 11:29 White_Way 阅读(27) 评论(0) 推荐(0)
摘要:赛时脑抽了没写出来。赛后一听说是 DP 就秒了 /wul 为方便,我们用数字代替字母,用 \(1\) 表示石头(R),\(2\) 表示剪刀(S),\(3\) 表示布(P)。同时定义函数 \(\text{ne}(j) = j \mod 3 +1\),则有 \(\text{ne}(a) = b \Lef 阅读全文
posted @ 2024-08-04 08:22 White_Way 阅读(50) 评论(0) 推荐(0)
摘要:经典题。tag:数状数组。 开一个权值树状数组,从左往右遍历,统计左边比 \(y_i\) 小的数字个数 \(ul_i\) 与比 \(a_i\) 大的数字个数 \(dl_i\);然后从右往左遍历,统计右边比 \(y_i\) 小的数字个数 \(dr_i\) 与比 \(a_i\) 大的数字个数 \(ur_ 阅读全文
posted @ 2024-07-04 10:58 White_Way 阅读(45) 评论(0) 推荐(0)
摘要:怎么赛时连这道都不会了 /ll 注意到输入是个排列,这意味着我们可以直接确定每个元素应在的位置。 考虑维护每个数当前所在的位置 \(\{p\}\)。对于任意 \(i \in [1, n]\),我们访问 \(p_i\),如果该位置不为第 \(i\) 位便对排列中第 \(i\) 位的数 \(j\) 和 阅读全文
posted @ 2024-04-23 18:31 White_Way 阅读(62) 评论(0) 推荐(0)
摘要:P6492 [COCI2010-2011#6] STEP - 洛谷 题目大意:维护一段 01 串,支持单点修改,每次修改后求最长的「\(\texttt{01010101}\dots\)」 的长度。 下文把 「\(\texttt{01010101}\dots\)」称为「合法区间」,\(k\) 为区间 阅读全文
posted @ 2024-04-22 14:11 White_Way 阅读(90) 评论(0) 推荐(0)
摘要:P1168 中位数 - 洛谷 很巧妙的一个题,自己没想出来。 用一个「对顶堆」来维护,即一个大根堆和一个小根堆。保证大根堆的队首 \(\le\) 小根堆的队首,并使他们的堆中元素的个数尽量相等。 操作如下: 每次加入一个元素时,如果这个数比大根堆的队首大,就加入小根堆;否则加入大根堆。 比较两个堆中 阅读全文
posted @ 2024-04-22 14:10 White_Way 阅读(63) 评论(0) 推荐(0)
摘要:一道绿写 2.5 h,我是什么效率哥。 Solution 提供一种不使用线段树 / 树状数组的方法。前置知识:分治,二分,前缀和。 考虑分治。我们假设有一个分治函数 solve(l, r) 可以统计区间 \([l, r]\) 中的 thair。 对于一个区间 \([l, r]\) 中的 thair 阅读全文
posted @ 2024-04-22 14:08 White_Way 阅读(39) 评论(0) 推荐(0)
摘要:第一次打 atcoder - ABC 的比赛。at 题是真的不错。 如果运气好的话,这篇题解可能也是我第一篇过审的题解。 Solution 题目来源:ABC333D (访问洛谷 | 访问 atcoder)。 题意: 给你一棵有 \(n\) 个结点的无根树,你可以花费 \(1\) 的代价,删除一个叶子 阅读全文
posted @ 2024-04-22 14:04 White_Way 阅读(59) 评论(0) 推荐(0)
摘要:Solution 题目来源:AT_past202107_l(in AtCoder | in luogu) 用线段树维护区间最小值。单点修改很好写,我们看怎么区间寻找最小值位置。 对于每次询问,我们先求出所查询区间 \([x_i, y_i]\) 的最小值 \(p\),然后写一个寻找函数。对于当前区间 阅读全文
posted @ 2024-02-02 22:24 White_Way 阅读(66) 评论(0) 推荐(0)
摘要:赛时怎么连这题都不会。再不练练思维真的就连普及题都不会做了啊。 Solution 题目来源:ABC338D(in Atcoder | in 洛谷)。 不妨先考虑应该断掉哪条边。首先我们发现,仅断掉一条边并不会让两个结点不可达,只会让我们从一个结点绕更远的路到达目标结点。 如果我们要从结点 \(u\) 阅读全文
posted @ 2024-01-28 22:06 White_Way 阅读(79) 评论(0) 推荐(0)
摘要:Cnblogs 线段树优化 dp?线段树优化 dp! Solution 题目来源:ABC334F(in 洛谷 | in AtCoder)题目大意很清晰就不讲了。 我们发现礼物是固定从 \(1\sim n\) 房间送的,唯一要分讨的地方就是什么时候要回去拿礼物。所以很容易想到二维 dp。 定义 \(f 阅读全文
posted @ 2024-01-02 22:46 White_Way 阅读(79) 评论(0) 推荐(0)