【题解】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)\)。
浙公网安备 33010602011771号