Loading

AT_arc194_c [ARC194C] Cost to Flip

这个题目确实含金量不高。

首先最朴素的想法就是先将 \(1 \to 0\),再将 \(0 \to 1\),将 \(1 \to 0\) 的过程中应该先操作 \(c_i\) 大的,\(0 \to 1\) 应该先操作 \(c_i\) 小的。

但是你发现如果你的 \(1 \to 1\) 的数量特别多,\(c_i\) 还特别大,就会导致在操作过程中产生了很多次无用贡献,我们比较直观的想法是应该在最初将一些 \(1 \to 1\) 改称 \(0\),最后再改回来,容易发现将 \(c_i\) 从大到小排序后一定只能改一段前缀,增量贡献形如在一段值域上进行加减操作,使用你喜欢的数据结构维护即可。

posted @ 2026-01-31 10:37  Alexande  阅读(4)  评论(0)    收藏  举报