题目链接:https://www.luogu.org/problemnew/show/P2827

35分:暴力sortO(mnlogn)。

80分:考虑到每次不好维护不被切的点+q,正难则反。改成维护被切的点-q,再维护一个q*m,跑大根堆O(mlogn)。

100分:考虑到先切的点一定比后切的点分出来的大。

若切两个点a,b。a > b,a切成a1 > a2,T秒后,切b,b1 > b2
此时a1 = Tq + pa,a2 = Tq + (1-p)a,
b1 = pTq + pb,b2 = (1-p)Tq + (1-p)b

∵0< p < 1,a > b 得证

所以本来序列带有单调性,我们只需要维护三个队列每次取max就行了。

写完注意常数。

所以我还是去写80分的吧。

相关文章:

  • 2021-05-30
  • 2022-02-11
  • 2022-02-27
  • 2021-10-08
  • 2021-11-23
  • 2022-12-23
  • 2021-07-12
猜你喜欢
  • 2021-11-28
  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
相关资源
相似解决方案