【题解】P9069 [Ynoi Easy Round 2022] 堕天作战 TEST_98

https://www.luogu.com.cn/problem/P9069

考虑一个数减到 \(a_i\le 0\),以后就一定只能被减了,而不会存在 \(x=a_i\)
所以对于最小值只维护 \(a_i>0\) 的位置。
修改的时候,先维护区间最小值,暴力 dfs 找到 \(a_i-x<0\),然后把 \(a_i\) 改为 \(\infty\)
然后再进行区间减操作,或者对于区间内除了最小值以外的值进行区间减操作。

考虑令次小值为 \(m_2\),则若 \(m_2>2x\),则可以直接给次小值打标记。
否则,\(m_2\ge 2x\),暴力递归,这样至少会导致 \(m_2\) 除以 2。
故复杂度 \(O(n\log n\log v)\)

posted @ 2026-09-02 09:07  TallBanana  阅读(5)  评论(0)    收藏  举报