天天看點

My Ynoi

時間的絕情之處是,讓你熬到真相,卻不給任何補償。

給定一個序列,回答四種詢問,判斷一個數是否能夠由一個區間中兩個數進行加減乘除中的一種運算得到,無解輸出 \(-1\) 。

首先使用莫隊。

加減操作使用莫隊與兩個 bitset 簡單維護, 複雜度為 \(\dfrac{nm}{w}\)。

乘操作考慮暴力分解質因數然後查詢兩數是否出現過同樣維護。

除操作考慮根号分治,大于則暴力莫隊找。

小于則單獨處理,暴力處理出對于每一個 \(x\) 離每一個位置最近的一個位置使得合法然後放回去看區間是否滿足。

\(O(\dfrac{nm}{w} + n( \sqrt{n}+ \sqrt{m})\)

繼續閱讀