1. 根號分治與分塊 1.1. 根號分治 根號分治,就是在預處理與詢問的復雜度之間尋找平衡的一個算法。通常以根號作為問題規模的分界線,規模小於根號的詢問可以 \(n\sqrt n\) 預處理求出,而回答一次規模為 \(B\geq n\) 的詢問的時間只需要 \(\dfrac n B\leq ...
本周小結 這周復習了平衡樹的內容,學習了根號分治的算法思想。 根號分治聽起來比較冷門,但是是一種很好用也很精妙的思想。 根號分治 一道題目:哈希沖突 暴力 如果使用暴力,每次詢問掃一遍,對於一次查詢的時間復雜度為 O frac n x 。當 x 時是最差時間復雜度,也就是說,最壞情況下,總體時間復雜度是 O mn 。 但是,如果是隨機的呢 我們知道調和級數 sum i n frac n i app ...
2021-09-05 14:35 3 127 推薦指數:
1. 根號分治與分塊 1.1. 根號分治 根號分治,就是在預處理與詢問的復雜度之間尋找平衡的一個算法。通常以根號作為問題規模的分界線,規模小於根號的詢問可以 \(n\sqrt n\) 預處理求出,而回答一次規模為 \(B\geq n\) 的詢問的時間只需要 \(\dfrac n B\leq ...
數據結構中的一塊內容:$CDQ$分治算法。 $CDQ$顯然是一個人的名字,陳丹琪(NOI2008金牌女選手) 這種離線分治算法被算法界稱為"cdq分治" 我們知道,一個動態的問題一定是由"更改""查詢"操作構成的,顯然,有些“更改”會改變"查詢的結果",而有些不能 如果我們合理安排一個次序 ...
1.作用 可以用來搞一些離線的題目,用於代替復雜的數據結構入樹套樹。 2.做法 1.分治左邊區間。 2.計算左邊區間對右邊區間答案的貢獻。 3.分治右邊區間。 4.將當前區間排序。 5.return。 3.例題 1.樹狀數組 單點修改區間查詢。 將所有操作記錄cdq分治 ...
終於在刷了半個寒假的計數題后學習了(動態)邊分治,寫個博客記錄一下。 然而做完兩道題之后可能又不想管它了 以后再有練習的時候再更新吧。 用途 在\(O(n\log n)\),\(O(n\log^2 n)\) 等復雜度內解決樹上路徑問題。 加了“動態”二字之后可以支持修改操作。 其實用 ...
根號分治: 引入: 有這樣一類問題:有 \(n\) 個序列,\(m\) 個詢問,存在兩種做法:\(O(n^2)\) 預處理和 \(O(mn)\) 的不預處理. 顯然,兩種方法的復雜度都無法接受,因此考慮一種方法是否能平衡這種復雜度。 然后,就擁有了 根號分治 這種方法,思路和 分塊的整塊 ...
引入connect或者檢查dispatch方法是否寫錯參數2021/05/09 這段話的意思是:TypeError:分派(…)。then不是函數dispatch不是一個函數,答案在以前已經有了:引入umi的一個東西叫connect如果引入了connect且dispatch有值但還是報錯 ...
1. 遞歸與分治 1.1 遞歸 遞去,歸來。 能夠用遞歸解決的問題需要滿足三個條件: 原問題可以轉換為一個或多個子問題來求解,而這些子問題的求解方法和原問題完全相同,只是規模不同; 遞歸調用次數必須是有限的; 必須有結束遞歸的條件 ...