Loading

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 33 下一页
摘要: 这题第一步就把我干掉。 首先 \(2 | n\) 无解是肯定的,此时将操作变为 \((+1, +1), (+1, -1)\)。 然后考虑这个东西的实际意义是什么,相当于我们最初有一个排列,相当于每走一行就移动一下,发现这个排列要么交换相邻两项要么循环移位。 接下来的东西就变得好算了,这是一个和 \( 阅读全文
posted @ 2025-09-15 19:31 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 省流:成唐诗了。 tm 题目说是能任意删啊,我还以为是啥呢。 那么显然删成若干个左括号再拼上若干个右括号,考虑枚举分界点。 此时显然每个分界点答案用组合数算出来,发现是范德蒙德组合的形式直接卷就做完了。 阅读全文
posted @ 2025-09-15 17:07 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: Ad-hoc 题胜利 MVP 结算画面。 算是自己想出来 \(80\%\),最后 \(O(n^3)\) 没办法了。 发现 A 中排序的列一定是在 B 中就有序了,我们现在就得到了一个列的集合,只需要解决排序的顺序就好了。 你发现这是一个稳定排序,这就很不牛了,因为对于相同元素我们无可奈何,但是我们对 阅读全文
posted @ 2025-09-15 16:49 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 首先需要观察到一个性质,就是第 \(i\) 行只会与第 \(i\) 列交换。 然后我们依次根据字典序判断看是否需要翻转,需要用个并查集维护。 阅读全文
posted @ 2025-09-15 16:28 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 总结来说就是 3h 写 t1 没时间想 t2,t3 了,其实 t3 还是很一眼的。 T1 一个斜优板子。 每次如果 \(l_i = 1, r_i = i - 1\),是很容易用李超树做到 \(O(n \log n)\)。 既然每次查一个区间,那么就在外面套一个线段树。 std 的做法是用线段树维护凸 阅读全文
posted @ 2025-09-15 16:07 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 构造比较非人类。 先每 \(k\) 个点分一组,染上同一种颜色,再每 \(k^2\) 个点一组,组内染上同一种颜色,然后依次类推,发现满足条件,可以证明其下界是为 \(\log_k n\) 的。 阅读全文
posted @ 2025-09-13 16:45 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 要想一想不可能的做法。 设 \(f_{i, j}\) 为前 \(i\) 个 \(a_i\) 和为 \(j\) 的方案数。 你发现转移形如全体位移,全体求和,然后加进答案里。 用 map 存 DP 数组,然后存一个位移即可。 阅读全文
posted @ 2025-09-13 11:51 Alexande 阅读(2) 评论(0) 推荐(0)
摘要: 比较具有启发意义的题目。 首先看到 \(m \le 20\),我们第一个想到的就是状压 DP,设 \(f_i\) 为选取位置集合为 \(i\) 时期望多少步确定,显然转移是简单的,比较困难的地方在当 \(i\) 唯一确定一个串(这个串需要你枚举出来)时,\(f_i = 0\),而这一步需要 \(O( 阅读全文
posted @ 2025-09-13 09:44 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 是一个读懂题意就能做出来的题。 题目意思就是要你进行某种树上剖分,求最短链可能的最大长度。 显然,有一个很容易的 DP 是设 \(f_i\) 为以 \(i\) 结尾的最短链长度,显然,它会从儿子中的最短链转移而来。 那么,在换根的过程中,我们需要记录一个全局最小值和全局次小值,可以用 multise 阅读全文
posted @ 2025-09-13 08:54 Alexande 阅读(2) 评论(0) 推荐(0)
摘要: 这种题为我们提供了一个很好的思考方向。 遇到这种差为 \(1\) 甚至是相等的情况,我们通常应该往二分图,特别是欧拉回路方面思考。 这个题的做法是这样的,同一行成对连边,如果是奇数个点就剩一个点不连边,同一列同理,考虑这样连出来的图一定是一个二分图,只需在这张图上跑黑白染色,注意到每行没列这种点是一 阅读全文
posted @ 2025-09-12 20:33 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 将 \(i\) 向 \(ki\) 连边,发现会变成若干条链,答案即为每条链的答案乘积。 不难发现链的独立集大小就是非伯纳切数列,可以直接做。 现在就变成了求长度为某个值的链的个数,考虑弱化限制可以求出其后缀和,然后差分一下可以得出答案。 阅读全文
posted @ 2025-09-12 14:17 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 还是比较好想的一个题。 首先你这个 \((x, y)\) 看着就很像连边关系,这是很重要的一步,一般这种二元关系都可以想着上图。 然后你发现,所谓的扩展不过就是在能加上边的地方都加上边,就是一个连通块都连满了。 这个时候注意到原图是一个二分图,能加的边不过就是所有左部点向右部点连满,发现如果只有加边 阅读全文
posted @ 2025-09-11 21:18 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 比较套路的一个题。 首先你先想 DP 怎么做。 设 \(f_{i, 0/1}\) 表示到了 \(i\) 目前正在上升还是正在下降最长长度是多少,不难发现这个只和相邻两个数的大小关系有关。 发现区间加并不影响区间内相邻大小关系,只影响交界处的关系,所以这是一个单点改。 我们用一个矩阵维护 DP 数组, 阅读全文
posted @ 2025-09-11 20:32 Alexande 阅读(2) 评论(0) 推荐(0)
摘要: 代码有点史,懒得写了。 你注意到一件事情就是,先随便拎出一棵最小生成树,我们将边分为在这棵树上的边和不在这棵树上的边,那么我们分别考虑。 对于树边,考虑所有包含它的非树边最小的那一条就是其上界。 对于非树边,其两个端点之间的树边路径上边权最小的那一条就是其上界。 容易用树链剖分做到 \(O(n \l 阅读全文
posted @ 2025-09-11 20:15 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 容易注意到答案就是 \(\max_i \sum_{j < i} [a_j > a_i]\)。 这个东西不难发现是二维数点,可以树套树做,然而有更好的性质。 令 \(f_i = \sum_{j < i} [a_j > a_i], g_i = i - f_i\),注意到 \(i < j, a_i \ge 阅读全文
posted @ 2025-09-11 16:47 Alexande 阅读(4) 评论(0) 推荐(0)
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 33 下一页