08 2025 档案

摘要:有趣题。 考虑最短路径 \(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 阅读(3) 评论(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 阅读(2) 评论(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 阅读(6) 评论(0) 推荐(0)
摘要:一个观察是这个题可以直接贪心选最小。证明考虑删除一个位置后,如果一个 \(|i-p_i|\) 变大,那么新的 \(|i-p_i|\) 也不会超过刚刚操作的代价。 考虑把排列看成上下各 \(1\sim n\) 的二分图,上面的第 \(i\) 个点向下面 \(p_i\) 连边。操作不会改变相对位置,所以 阅读全文
posted @ 2025-08-23 11:42 CJzdc 阅读(13) 评论(0) 推荐(0)
摘要:好题。 阅读全文
posted @ 2025-08-22 14:23 CJzdc 阅读(15) 评论(0) 推荐(0)
摘要:首先可以先二分出一条边 \(e\),满足把 \(w_{0\sim e-1}\) 变成 \(B\) 后最短路不变,且再把 \(w_e\) 变为 \(B\) 后最短路会变。现在我们可以认为现在 \(S\) 和 \(T\) 之间的最短路都要经过 \(e\)。 此时可以认为 \(S\) 和 \(T\) 被 阅读全文
posted @ 2025-08-20 21:47 CJzdc 阅读(2) 评论(0) 推荐(0)
摘要:膜拜 zhy。 阅读全文
posted @ 2025-08-20 21:35 CJzdc 阅读(16) 评论(0) 推荐(0)