Luogu P1486

  • delta 是一个很有意思的处理方法,尤其是在这种只需要求名次而不关心具体的 val 时。我们用一个 delta 来记录前面的变量的变化,那么后面的变量减去 delta 就可以和前面的变量直接进行比较。
  • 问题的核心在于我们的 delta 并非适用于前面所有的员工。也就是说我们把问题抽象成:某个 delta 只对某一段变量生效(只是它们的起点相同,都是开始的员工),我们如何通过记录 delta 来比较变量的位次?
  • 首先我们说插入操作:对于一个生效于 \(1 \sim i\) 的 delta1,显然它不适用于第 \(i + 1\) 个员工,如果我们直接插入第 \(i + 1\) 个员工的工资 \(k_{i + 1}\),那么当我们最后计算工资时,第 \(i + 1\) 个员工就会比别人多算一个 delta1。那么为了解决这种情况,我们可以直接在插入 \(i + 1\) 个员工时将其工资设为 \(k_{i + 1} - delta1\),这样就可以把误差抵消了。
  • 现在直观上理解,就是第一次修改之前的工资值保持不变,通过 delta 来控制 min 和之后要插入的值。
  • 不过个人认为在 S 和 A 操作都小于等于 100 次的情况下,暴力也许才是正解。

!!!初始工资不足下界的不算离开公司!!!

posted on 2025-02-16 22:49  wuhu12345  阅读(8)  评论(0)    收藏  举报

导航