原文:【知識總結】線段樹合並及其復雜度證明

應該算是比較基礎的知識了吧 隨便寫寫,主要內容是證明。 例題 現編的 :有一棵 m 個點的有根樹,每個點上有若干個數, m 個點上共有 n 個數,數的規模是 N 。每次詢問給定 u,l,r ,求 u 的子樹中有多少個數在 l,r 中。 做法是每個點開一棵線段樹,插入這個結點上的數。如果能把一個結點的線段樹的信息在合理的時間內全部插入 或者說 合並 到它父親的線段樹中,就可以由下往上做一遍樹上遞推, ...

2019-12-18 15:13 0 328 推薦指數:

查看詳情

伸展(Splay)復雜度證明

本文用勢能法證明\(Splay\)的均攤復雜度,對\(Splay\)的具體操作不進行講述。 為了方便本文的描述,定義如下內容: 在文中我們用\(T\)表示一棵完整的\(Splay\),並(不嚴謹地)用\(|T|\)表示\(T\)這棵\(Splay\)的節點數目。 如無特殊說明,小寫英文字母 ...

Fri Sep 28 03:53:00 CST 2018 3 1144
線段合並 總結

今天學習了一下動態開點的線段以及線段合並吧 理解應該還是比較好理解的,動態開點的話可以避免許多空間的浪費,因為這類問題我們一般建立的是權值線段,而權值一般范圍比較大,直接像原來那樣開四倍空間的話空間復雜度不能承受。 動態開點的代碼如下: 因為對應位置的結點所代表 ...

Wed Apr 17 06:36:00 CST 2019 0 599
關於樹上背包復雜度證明

眾所周知,樹上背包如果上下界都卡緊了復雜度會是 \(O(nm)\),下面來進行這一點的證明。 以下設節點總數為 \(n\),背包容量最大是 \(m\)。 合並兩個泛化背包的復雜度為 \(O(s_1s_2)\),其中 \(s_1\) 是第一個泛化背包的容量,\(s_2\) 是第二個背包的容量 ...

Mon Jan 03 15:17:00 CST 2022 1 1034
的遍歷及復雜度分析

的遍歷及復雜度分析 時間復雜度:由於要遍歷的所有節點,故時間復雜度均為O(n) 空間復雜度:遞歸算法用函數棧實現,空間復雜度即為棧的深度,也即的高度O(logn) 此時的棧中存參數,函數指針,局部變量。 前序遍歷 print(TreeNode * root) { if(root ...

Fri Dec 06 22:08:00 CST 2019 0 574
關於 min_25 篩的入門以及復雜度證明

min_25 篩是由 min_25 大佬使用后普遍推廣的一種新型算法,這個算法能在 \(O({n^{3\over 4}\over log~ n})\) 的復雜度內解決所有的積性函數前綴和求解問題(個人感覺套上素數定理證明復雜度的話應該要把下面的 log 改成 ln ,不過也差不多 ...

Fri Apr 12 17:40:00 CST 2019 0 503
K-D tree 區域查詢復雜度證明

查詢算法的流程 如果查詢與當前結點的區域無交集,直接跳出。 如果查詢將當前結點的區域包含,直接跳出並上傳答案。 有交集但不包含,繼續遞歸求解。 K-D Tree 如何划分區域 可以借助下文圖片理解。 我們不僅可以將 K-D Tree 理解為一個高維二叉搜索,通過某一維 ...

Tue Aug 04 16:00:00 CST 2020 9 1099
關於非旋FHQ Treap的復雜度證明

非旋FHQ Treap復雜度證明(類比快排) a,b都是sort之后的排列(從小到大) 由一個排列a構造一顆BST,由於我們只確定了中序遍歷=a,但這顯然是不能確定一棵的形態的。 由一個排列b構造一顆Heap(大根),由於沒有重復元素,然后人為欽定左兒子<右兒子,那么他的后序遍歷=b ...

Thu Dec 26 04:31:00 CST 2019 1 988
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM