摘要:
考虑差分之后每段贡献,将 \(B\) 重排完之后相当于一个无限背包,每次要你选出一个数,不超过背包容量能够得到的最大的数是什么,发现得到的式子是一个平方项,因此直接做复杂度是 \(O(n\sqrt n)\)。 阅读全文
posted @ 2025-09-30 20:36
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
感觉每次遇到这种神秘构造都会跪下。 首先如果 \(n\) 为 \(2\) 的正整数次幂,由于第 \(n\) 位为 \(1\) 的只有一个数,显然会跪下。 然后我们通过构造证明除了这种情况都是有解的,分奇数和偶数考虑。 你考虑到一个性质,当 \(i\)为偶数的时候,有 \(i \text{xor} 1 阅读全文
posted @ 2025-09-30 19:28
Alexande
阅读(10)
评论(0)
推荐(0)
摘要:
注意到问题等价于要走到 \(1\) 和 \(n\),不难想到用线段树优化建图。 考察最短路的状态,一定是同时走了一些边,然后再分开走,否则一定不如和在一起走。 先建反图跑出每个点到 \(1\) 和 \(n\) 的距离和,然后有多组询问,怎么办呢?我们将其作为点权倒着跑一遍多源最短路即可,做完了。 阅读全文
posted @ 2025-09-30 17:27
Alexande
阅读(9)
评论(0)
推荐(0)
摘要:
设 \(A \ge B\),那么我们每次操作就可以让一个 \(\ge A\) 的段为 \(0\),\(\ge B\) 的段为 \(1\)。 考虑最后的充要条件是,存在一个 \(\ge A\) 的子串,满足其中所有 \(1\) 的段长度都 \(\ge B\),为什么呢?因为这是最后一步,在这一步之前, 阅读全文
posted @ 2025-09-30 15:06
Alexande
阅读(8)
评论(0)
推荐(0)
摘要:
被神秘贪心标签误导了。 你考虑答案的最终形式长什么样,就是保留若干个相同的数,再将其中间的区间整段整段删干净。 你先枚举保留什么数,然后发现我们可以设 \(f_{i}\) 表示到了第 \(i\) 个位置最多能保留多少个数,发现转移中有一个要素就是能否删去一段区间。 这段区间的充要条件是,长度为偶数, 阅读全文
posted @ 2025-09-30 11:12
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
你倒着考虑,有一个结论是: 如果一个 \(b\) 可以操作,它一定会操作到不能操作为止,然后换别的数操作。 这样我们可以维护当前 \(b\) 的最大值,每次操作 \(b\) 至少减半,于是时间复杂度做到了 \(O(n \log n \log V)\)。 阅读全文
posted @ 2025-09-30 09:56
Alexande
阅读(9)
评论(0)
推荐(0)
摘要:
首先肯定考虑如何倒着回去。 发现从 \(1\) 到 \(n\) 操作,那么每个元素相当于如果不满足前面的条件,那么其就会被移动到 \(i + k\) 这个位置(已经满足条件的由于要最小化操作次数不能移动)。 那么倒着看,就相当于在 \(i + k\) 的数都可以往后挪,而在其之前的数都被固定了位置, 阅读全文
posted @ 2025-09-30 08:28
Alexande
阅读(5)
评论(0)
推荐(0)

浙公网安备 33010602011771号