Loading

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 35 下一页
摘要: 首先转化成 \(1/-1\),然后题目给定条件相当于总和为 \(0\)。 发现一个事情,答案上界为 \(2\),因为你发现将最大值两边的区间翻转必定满足条件。 接下来考虑操作 \(1\) 次,相当于要将所有前缀和 \(<0\) 的都要翻一下,你找出两边前缀和最大的端点即可。 阅读全文
posted @ 2025-11-06 08:35 Alexande 阅读(6) 评论(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 阅读(7) 评论(0) 推荐(0)
摘要: 题目大意 我们称两个长度为 \(n\) 的数组所构成的数组对 \((a, b)\) 是合法的当且仅当其能够满足以下构造: 构造 \(n\) 个长度为 \(3\) 且对应每一位上都不重复的使用了 \(1 \sim n\) 中的元素的数组 \(s_i\),我们令第 \(i\) 个数组 \(s_i\) 的 阅读全文
posted @ 2025-11-05 16:45 Alexande 阅读(9) 评论(0) 推荐(0)
摘要: 代码比较狗屎,思考了一下还是不写了,防止我被写死。 首先考虑相邻的相同操作或者同一个维度上的操作可以只保留最后一个。 然后发现 GPGL 完全可以把中间那个 G 给干掉。 OK 现在操作变成了不断转圈 2048 的过程一样。 发现其形状和操作都有结合律和交换律,推一下发现位置的变化也有结合律和交换律 阅读全文
posted @ 2025-11-05 11:07 Alexande 阅读(7) 评论(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 阅读(7) 评论(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 阅读(7) 评论(0) 推荐(0)
摘要: 考虑断环成链,这样路径就唯一了。 考虑前缀和,并且把 \(h\) 拆到前缀和的值上,那么两个点的贡献就是其相减,发现一定选取最大值和最小值,先后关系发现不影响,使用线段树求和即可。 阅读全文
posted @ 2025-11-03 15:50 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 首先需要发现一些性质,不然就真成不可做问题了,考虑凸多边形的一些性质。 考虑四边形定理,两条相交边长度一定大于两条不交边长度,这启示我们路径连线本质不交,然后我们继续思考路径形态。 路径形态是这样子的,你从顶点开始,每次要么往左扩展一个,要么往右扩展一个,需要注意两段弧的特殊情况,注意一些小 cas 阅读全文
posted @ 2025-10-31 20:32 Alexande 阅读(3) 评论(0) 推荐(0)
摘要: 比较唐的思路是相同位上相邻为 \(1\) 的数连边,看能否从 \(x\) 走到 \(y\) 即可。 你发现这样不太好做,我们写个 DP,设 \(f_{i, j}\) 表示能到 \(i\) 这个点且 \(< i\) 第 \(j\) 位为 \(1\) 的数是哪一个(最大的),转移是容易的。 就是尽量转移 阅读全文
posted @ 2025-10-31 18:46 Alexande 阅读(4) 评论(0) 推荐(0)
摘要: 基于 CSP-S 2025 之前对本题的一些思考,虽然考场上不一定能想出来,但是很具有思考价值(除了题面输入是真的屎)。 首先可以不管 \(c_i\),我们先思考 \(n\) 时的答案是什么,如何计算,再考虑 \(c_i\) 的性质。 具体来说,这是一棵完美二叉树,我们可以先枚举结点,看这个结点是否 阅读全文
posted @ 2025-10-31 16:36 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 有一个很关键的结论是:每个数最多交换一次,不会存在连锁交换。 有了这个结论,我们可以设 \(f_{i, 0/1}\) 表示到了 \(i\) 到底最后交没交换,转移显然是简单的,答案就是颜色段个数。 好,然后我们来说明这个结论的证明,考场上你只能观察出来,遇到这种操作很神秘的题多猜一猜这种性质之类的。 阅读全文
posted @ 2025-10-31 11:33 Alexande 阅读(7) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 35 下一页