摘要: 先考虑怎么刻画序列的 \(f\)。 考虑把 w 作为 \(0\),b 作为 \(1\)。 每次我们可以删 00 或 11,最后剩下的 0101... 状物的长度除以 \(4\) 就是 \(f\) 的值。 每次删长度 \(2\) 的串,这对每个位置的奇偶性是不影响的。 考虑把奇数位取反,那么每次可以删 阅读全文
posted @ 2025-09-06 15:37 CJzdc 阅读(29) 评论(0) 推荐(0)
摘要: 有趣题。 考虑最短路径 \(S=[S_1,S_2,\cdots,S_k]\),那么代价是 \(\sum ((a_{S_i}+b_{S_{i+1}})\bmod M)\)。 考虑 \(a_i\leftarrow (M-a_i)\bmod M\),那么 \((b_{S_{i+1}}-a_{S_i})\b 阅读全文
posted @ 2025-08-31 11:18 CJzdc 阅读(20) 评论(0) 推荐(0)
摘要: 这题需要带修,考虑一些比较好维护的做法。 从小往大考虑当前值 \(v\),对于值 \(=v\) 的长为 \(c\) 的连续段,设其左右分别是 \(a,b\),设 \(d=\min(a,b)-v\)。 如果 \(2^d|c\),那么我们可以把这一段缩起来,变成一个值为 \(v+d\),长为 \(\tf 阅读全文
posted @ 2025-08-31 10:59 CJzdc 阅读(21) 评论(0) 推荐(0)
摘要: 一个暴力的想法是 \(f_i\) 表示 \(0\to i\) 的期望步数,但是可以发现这其实不好转移。因为 \(f_j\to f_i\) 时我们不知道是否经过了 \(i\)。 这个问题实际上就是我们固定了起点 \(0\),终点不固定。但是如果我们固定终点 \(0\),\(f_i\) 表示 \(i\t 阅读全文
posted @ 2025-08-25 21:18 CJzdc 阅读(17) 评论(0) 推荐(0)
摘要: 一个观察是这个题可以直接贪心选最小。证明考虑删除一个位置后,如果一个 \(|i-p_i|\) 变大,那么新的 \(|i-p_i|\) 也不会超过刚刚操作的代价。 考虑把排列看成上下各 \(1\sim n\) 的二分图,上面的第 \(i\) 个点向下面 \(p_i\) 连边。操作不会改变相对位置,所以 阅读全文
posted @ 2025-08-23 11:42 CJzdc 阅读(30) 评论(0) 推荐(0)
摘要: 好题。 阅读全文
posted @ 2025-08-22 14:23 CJzdc 阅读(80) 评论(0) 推荐(0)
摘要: 首先可以先二分出一条边 \(e\),满足把 \(w_{0\sim e-1}\) 变成 \(B\) 后最短路不变,且再把 \(w_e\) 变为 \(B\) 后最短路会变。现在我们可以认为现在 \(S\) 和 \(T\) 之间的最短路都要经过 \(e\)。 此时可以认为 \(S\) 和 \(T\) 被 阅读全文
posted @ 2025-08-20 21:47 CJzdc 阅读(31) 评论(0) 推荐(0)
摘要: 膜拜 zhy。 阅读全文
posted @ 2025-08-20 21:35 CJzdc 阅读(59) 评论(0) 推荐(0)
摘要: Sub4 保证了存在合法的子序列,这提示我们先找到一个备选的子序列,再去判断它是否合法。 考虑找几个显然的性质。如果我们只保留某一种字符 \(c\),那么只含 \(c\) 的最大长度就是 \(c\) 在 \(A\) 和 \(B\) 中出现次数的较小值,而这个需要是答案的子序列。 那么对于每种字符 \ 阅读全文
posted @ 2025-07-18 14:21 CJzdc 阅读(30) 评论(0) 推荐(0)
摘要: 先刻画最优解的形式。 不妨把最终序列看成若干个可重集合,每个集合内是原序列的数,贡献是集合的 \(\gcd\)。 考虑两个集合 \(S\) 和 \(T\),设其 \(\gcd\) 分别为 \(x\) 和 \(y\),且 \(x\le y\)。 考虑一个调整方法:取出 \(T\) 中最大值 \(v\) 阅读全文
posted @ 2025-07-12 17:13 CJzdc 阅读(56) 评论(0) 推荐(0)