admin 管理员组

文章数量: 1184232

第一次自己做出 Div.2D(虽然是 Div.1+2),纪念一下。

Good Bye,2024!


首先考虑没有修改操作怎么做。不难发现,我们将 aa a bb b 都从小到大排序,结果显然是最优的。

接下来考虑修改。因为每次修改结束后,如果暴力的话,我们都会重新排序,并且由于每次都是 +1+1 + 1 操作,所以除了相等的数以外数组仍然是有序的。那么实际上你可以直接找到最后一个和原来应该修改的那个数相等的一个数,修改这个数即可。

但是如果暴力修改,复杂度仍然是 O(Tnq)O(Tnq) O ( T n q ) ,无法通过。所以我们可以考虑初始时求出答案,记为 ansans an s 。对于每一次操作,假设最终修改的位置是 xx x ,那么假设更新的是 aa a ,实际上答案更新为 ans÷min⁡(ax,bx)×min⁡(ax+1,bx)ans \div \min(a_x,b_x) \times \min(a_x+1,b_x) an s ÷ min ( a x , b x ) × min ( a x </

本文标签: 优化内容 体验 编程