我在此網站https://acmcairoscience.wordpress.com/2015/04/06/sqrt-decomposition/SQRT分解查詢
我明白本DS中,我們將輸入陣列分成大小SQRT的桶(N),其中N是的標準算法中讀到的sqrt分解數據結構數組的大小。
但這裏是我不能理解的:輸入查詢的sqrt分解。
假設我們有一些問題給我們一些輸入數據,然後是k個查詢,我們必須處理每個查詢併發出一個響應。我們考慮請求是按照請求的情況(不要改變系統的狀態,但只詢問一些信息)並且修改(即影響系統狀態最初設置爲輸入數據)。
這是我不能理解的給定方法:將大小爲sqrt(k)的桶拆分爲k個查詢,並一次處理每個桶中的所有查詢。
爲什麼我們將查詢分解爲sqrt大小的桶?以及我們如何處理每個桶中的所有查詢?
如果他將數據拆分爲sqrt(k)的桶,那麼應該有N/sqrt(k)桶?但這種情況並非如此。另外,我們如何處理這個離線算法中的修改查詢? PS:原始網站是但它是俄語(谷歌鉻翻譯作品相當好) –
joey