Loading

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页
摘要: 考虑如果是 \(1 \times n\) 怎么做。 显然是前缀和的差的绝对值的和,因为每次移动改变一位前缀和。 考虑上下交换的本质是什么,就是给第一行减 \(1\),第二行加 \(1\),反过来同理,那么在前缀和异号时显然交换是不劣的,我们将能交换的全部交换即可,最后别忘记判无解。 阅读全文
posted @ 2025-11-06 19:14 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 场上将 \(O(qn \log n)\) 分析成了 \(O(q \log n)\) 也是没谁了。 考虑到能替换的条件就是从第一个不一样的位置到最后一个不一样的位置中间完全一致,然后左右分别满足相同的条件即可,我们将其哈希值扔进 map 里对每个等价类做一遍可以做到 \(O(qn\log n)\)。 阅读全文
posted @ 2025-11-06 15:01 Alexande 阅读(19) 评论(0) 推荐(0)
摘要: 没见过的一种 DP 类型,我们称它为贡献延后计算。 具体来说就是我们只关心选出来了些什么,至于这些东西的顺序我们在转移的时候不重复的钦定即可。 考虑本题设 \(f_{i, j, k}\) 表决策到前 \(i\) 场面试,有 \(j\) 个人失败,并且 \(1 \sim i\) 选择的人中有 \(k\ 阅读全文
posted @ 2025-11-06 10:52 Alexande 阅读(44) 评论(0) 推荐(0)
摘要: 首先发现第 \(3\) 个限制很难办,我们想 \(k = 0\) 怎么做。 发现 \(a_{i, j}\) 是很小的,我们求个 \(lcm\) 每个位置都填上即可。 然后黑白染色,往黑色格子里加个 \(a_{i, j}^4\) 即可。 阅读全文
posted @ 2025-11-06 09:01 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 首先转化成 \(1/-1\),然后题目给定条件相当于总和为 \(0\)。 发现一个事情,答案上界为 \(2\),因为你发现将最大值两边的区间翻转必定满足条件。 接下来考虑操作 \(1\) 次,相当于要将所有前缀和 \(<0\) 的都要翻一下,你找出两边前缀和最大的端点即可。 阅读全文
posted @ 2025-11-06 08:35 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 发现就是两条链中间确定一些方向,使得强连通分量数最少(有向图的最大不到达子集大小等同于这个)。 显然你就是想让一些交叉的边尽可能多,随便排下序贪心即可。 阅读全文
posted @ 2025-11-05 19:01 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 考虑设 \(f_{i, j, k}\) 表示在 \(s\) 中匹配到 \(i\),在 \(t\) 中匹配到 \(j\),有 \(k\) 个左括号没有匹配。 然后用 BFS 进行匹配,能保证长度时最小的。 阅读全文
posted @ 2025-11-05 17:05 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 题目大意 我们称两个长度为 \(n\) 的数组所构成的数组对 \((a, b)\) 是合法的当且仅当其能够满足以下构造: 构造 \(n\) 个长度为 \(3\) 且对应每一位上都不重复的使用了 \(1 \sim n\) 中的元素的数组 \(s_i\),我们令第 \(i\) 个数组 \(s_i\) 的 阅读全文
posted @ 2025-11-05 16:45 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 代码比较狗屎,思考了一下还是不写了,防止我被写死。 首先考虑相邻的相同操作或者同一个维度上的操作可以只保留最后一个。 然后发现 GPGL 完全可以把中间那个 G 给干掉。 OK 现在操作变成了不断转圈 2048 的过程一样。 发现其形状和操作都有结合律和交换律,推一下发现位置的变化也有结合律和交换律 阅读全文
posted @ 2025-11-05 11:07 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 考察一个朴素结点的状态最多为什么,那么就是向左连一个点,向右连一个点,向上/下连,此时度数为 \(3\)。 考虑一个 \(> 3\) 的点当且仅当什么时候存在,我们声称合法的必要条件是这种点必须被包含在一个链里。 因为若不包含在同一个链里,证明必然被划分到了两棵子树中,画一下图发现要么满足不了不交叉 阅读全文
posted @ 2025-11-05 10:17 Alexande 阅读(10) 评论(0) 推荐(0)
摘要: 之前写 \(O(n^2)\) 图省事,结果考试考了单 \(\log\),把自己给坑害了(又不想写代码)。 首先发现这个过程本质上在干什么,钦定一些区间不能相同列车,那么可以 2-SAT,也可以二分图染色,这里选择二分图染色好做些。 由于保证有解,相当于你只需要快速判断目前与这个区间有交且没有标记过的 阅读全文
posted @ 2025-11-04 14:59 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 设 \(c_i = \max(i - a_i + 1, 1)\),\(p_i\) 为 \(\le i\) 的 \(j\) 中 \(c_j\) 最大的 \(j\) 的值。 那么答案即为 \(\frac{n(n + 1)}{2} + n - \sum p_i\),单点修改使用单侧递归线段树即可。 阅读全文
posted @ 2025-11-03 20:02 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 你仔细想一想,枚举 \(Q\) 好像不太可做。 一个非常牛的操作是考虑构造 \(a\) 与 \(Q\) 形成双射,我们当然希望 \(a\) 能够通过一些简单的基本增量操作得到,这样利于我们统计答案。 然后比较难观察到的一点是,我们一定可以这样构造 \(a\) 使得每种不同的 \(a\) 对应的 \( 阅读全文
posted @ 2025-11-03 16:58 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 先考虑不朴素 \(O(n^2)\) 做法。 显然是考虑枚举位置 \(i\),将小于 \(a_i\) 的位置拎出来,显然其将序列分成若干段,每个段的子贡献是一样的(大概是一个等差数列一样的东西)。 这个做法一看就很有前途,从小到大枚举每次新增的数会将两个段隔开,比较复杂的讨论一下即可。 阅读全文
posted @ 2025-11-03 16:21 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 考虑断环成链,这样路径就唯一了。 考虑前缀和,并且把 \(h\) 拆到前缀和的值上,那么两个点的贡献就是其相减,发现一定选取最大值和最小值,先后关系发现不影响,使用线段树求和即可。 阅读全文
posted @ 2025-11-03 15:50 Alexande 阅读(5) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页