日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

LCA最近公共祖先算法詳解:倍增法、Tarjan離線與歐拉序RMQ選型指南

LCA最近公共祖先算法詳解:倍增法、Tarjan離線與歐拉序RMQ選型指南 1. 從一次線上故障說起為什么LCA值得你花時(shí)間搞懂去年幫一個(gè)朋友排查他們內(nèi)部工具的一個(gè)性能問題場景很典型一個(gè)組織架構(gòu)樹大概三萬多節(jié)點(diǎn)每次要計(jì)算兩個(gè)員工在組織樹里的最近共同上級(jí)。他們最初的實(shí)現(xiàn)是暴力往上爬——把A的所有祖先塞進(jìn)一個(gè)集合然后B從自己開始往上走遇到的第一個(gè)在集合里的節(jié)點(diǎn)就是答案。單次查詢看著不慢幾十毫秒但架不住前端一個(gè)頁面要批量算幾百對(duì)頁面直接卡到轉(zhuǎn)圈。這個(gè)問題的本質(zhì)就是LCALowest Common Ancestor最近公共祖先。聽起來像是算法競賽里的東西但只要你處理過任何樹形結(jié)構(gòu)——組織架構(gòu)、文件目錄、DOM節(jié)點(diǎn)、分類體系、依賴關(guān)系圖——你遲早會(huì)撞上它。而且一旦數(shù)據(jù)量上去暴力解法就會(huì)原形畢露。這篇內(nèi)容我打算把LCA這件事從頭到尾講透。不是那種背個(gè)倍增模板就完事的講法而是把為什么會(huì)有多種解法、每種解法到底在權(quán)衡什么、什么場景該選哪個(gè)、寫的時(shí)候哪里最容易翻車這些真正影響你落地的東西說清楚。適合已經(jīng)會(huì)寫基礎(chǔ)樹遍歷、但一遇到樹上路徑查詢就發(fā)怵的開發(fā)者也適合想系統(tǒng)梳理一遍這塊知識(shí)的老手??赐昴銘?yīng)該能做到拿到一個(gè)問題先判斷它是不是LCA再根據(jù)數(shù)據(jù)規(guī)模和查詢次數(shù)直接選出合適的方案而不是無腦套模板。2. LCA到底在解決什么問題把共同祖先翻譯成人話2.1 用家族樹理解最近公共祖先先把這個(gè)概念用最樸素的方式說清楚。想象一棵家族樹根節(jié)點(diǎn)是最老的祖先往下每一層是下一代。現(xiàn)在給你兩個(gè)人問他倆血緣關(guān)系最近的那個(gè)共同長輩是誰注意最近兩個(gè)字是關(guān)鍵。往上數(shù)所有共同的長輩都算公共祖先但我們要的是**深度最大離他倆最近**的那一個(gè)。比如你和你堂哥你們的爺爺是LCA但曾祖父也是共同祖先只不過曾祖父更遠(yuǎn)不是最近的。形式化一點(diǎn)給定一棵有根樹對(duì)于節(jié)點(diǎn)u和vLCA(u, v)是同時(shí)滿足是u的祖先且是v的祖先的節(jié)點(diǎn)中深度最大的那個(gè)。這里祖先通常包含節(jié)點(diǎn)自己——也就是說如果u本身就是v的祖先那LCA就是u。這個(gè)約定很重要很多實(shí)現(xiàn)細(xì)節(jié)都跟它有關(guān)。2.2 為什么暴力爬樹會(huì)崩復(fù)雜度賬要算清楚最直覺的做法有兩種。第一種是剛才說的集合法把u到根的路徑全標(biāo)記然后v往上走找第一個(gè)標(biāo)記點(diǎn)。第二種是先把兩個(gè)節(jié)點(diǎn)提到同一深度然后一起往上走直到相遇。這兩種做法單次查詢的復(fù)雜度都是O(樹高)。問題就出在這個(gè)樹高上。如果樹比較平衡高度是log級(jí)別那還行但現(xiàn)實(shí)中的樹經(jīng)常退化成一條鏈——比如一個(gè)層層審批的組織、一個(gè)深度嵌套的目錄、一條長依賴鏈。這時(shí)候樹高就是節(jié)點(diǎn)數(shù)n單次查詢O(n)查詢m次就是O(nm)。三萬個(gè)節(jié)點(diǎn)、幾百次查詢直接就是千萬級(jí)操作卡頓是必然的。所以LCA的核心矛盾就一句話能不能把單次查詢從O(樹高)壓到O(log n)甚至O(1)代價(jià)是預(yù)處理。后面講的所有算法本質(zhì)上都是在這條權(quán)衡線上找不同的位置。2.3 哪些真實(shí)場景會(huì)用到LCA別以為這只是刷題用的。我梳理幾個(gè)實(shí)際會(huì)碰到的組織架構(gòu)/權(quán)限系統(tǒng)判斷兩個(gè)員工的共同上級(jí)用于審批流、權(quán)限繼承、匯報(bào)關(guān)系展示。文件系統(tǒng)求兩個(gè)路徑的最近公共目錄做相對(duì)路徑計(jì)算、文件同步的差異定位。前端DOM操作找兩個(gè)節(jié)點(diǎn)的最近公共父節(jié)點(diǎn)用于事件委托、選區(qū)處理、虛擬DOM diff。版本控制/依賴分析在提交歷史或依賴樹里找共同基點(diǎn)判斷分支從哪分叉。生物信息學(xué)進(jìn)化樹里找物種的共同祖先。網(wǎng)絡(luò)路由在某些樹形拓?fù)淅镎夜餐嫌喂?jié)點(diǎn)??闯鰜砹税芍灰愕臄?shù)據(jù)是樹形或者能轉(zhuǎn)成樹形LCA就是個(gè)繞不開的基礎(chǔ)操作。理解了它等于拿到了一把處理樹形查詢的萬能鑰匙。3. 倍增法最通用的LCA解法也是面試最愛問的3.1 倍增的核心思想用二進(jìn)制跳躍代替一步步爬倍增法Binary Lifting是我最推薦的入門方案因?yàn)樗ㄓ谩⒑脤?、好調(diào)而且能順帶解決一堆衍生問題比如求路徑上第k個(gè)祖先、路徑長度等。它的核心思想特別巧妙與其一步一步往上爬不如一次跳2的冪次步。就像你要走1000米不會(huì)一米一米挪而是先走512米、再256米……用二進(jìn)制拆分快速到達(dá)。具體做法是預(yù)處理一個(gè)跳表up[i][j]表示節(jié)點(diǎn)i往上跳2^j步后到達(dá)的祖先。這個(gè)表可以遞推出來up[i][0] parent[i] // 跳1步就是父節(jié)點(diǎn) up[i][j] up[ up[i][j-1] ][j-1] // 跳2^j步 先跳2^(j-1)再跳2^(j-1)第二行的遞推是整個(gè)算法的靈魂。它把跳一大步拆成跳兩小步從而能用已經(jīng)算好的小步結(jié)果推出大步結(jié)果。這就是典型的動(dòng)態(tài)規(guī)劃思想也是倍增法名字的由來。3.2 預(yù)處理一遍DFS把跳表建起來預(yù)處理分兩步。第一步是DFS/BFS求出每個(gè)節(jié)點(diǎn)的深度depth[i]和直接父節(jié)點(diǎn)parent[i]。第二步就是按上面的遞推式填up表。關(guān)于j的上界取LOG ceil(log2(n)) 1就夠了。因?yàn)闃渥罡遪層任何跳躍需求都能用不超過log2(n)位的二進(jìn)制表示。多留一位是防止邊界越界。import sys sys.setrecursionlimit(300000) def preprocess(n, adj, root): LOG (n).bit_length() # 等價(jià)于 ceil(log2(n1)) depth [0] * (n 1) up [[0] * LOG for _ in range(n 1)] # 迭代式DFS避免遞歸爆棧 parent [0] * (n 1) order [] stack [root] visited [False] * (n 1) visited[root] True while stack: u stack.pop() order.append(u) for v in adj[u]: if not visited[v]: visited[v] True parent[v] u depth[v] depth[u] 1 stack.append(v) # 填跳表 for i in range(1, n 1): up[i][0] parent[i] for j in range(1, LOG): for i in range(1, n 1): up[i][j] up[ up[i][j-1] ][j-1] return depth, up, LOG這里有個(gè)實(shí)操細(xì)節(jié)值得說我強(qiáng)烈建議用迭代式DFS而不是遞歸。遞歸寫起來是簡潔但樹一深比如退化成鏈Python默認(rèn)遞歸深度1000直接爆棧C雖然棧大一些但幾萬層也懸。迭代式雖然代碼長一點(diǎn)但穩(wěn)。這個(gè)坑我踩過不止一次線上環(huán)境可不會(huì)給你調(diào)遞歸深度的機(jī)會(huì)。3.3 查詢先對(duì)齊深度再一起往上跳查詢LCA(u, v)分兩個(gè)階段邏輯非常清晰階段一把深的那個(gè)提到和淺的一樣深。假設(shè)depth[u] depth[v]那就把u往上跳depth[u] - depth[v]步。這個(gè)差值用二進(jìn)制拆解對(duì)應(yīng)到跳表上就是如果差值的第j位是1就跳2^j步。階段二如果此時(shí)u v說明v本來就是u的祖先直接返回。否則兩個(gè)節(jié)點(diǎn)一起往上跳從大到小嘗試。關(guān)鍵技巧是只要跳完之后兩個(gè)節(jié)點(diǎn)還不相等就跳。這樣最后一定會(huì)停在LCA的正下方再往上一步就是答案。def lca(u, v, depth, up, LOG): if depth[u] depth[v]: u, v v, u # 階段一對(duì)齊深度 diff depth[u] - depth[v] for j in range(LOG): if diff (1 j): u up[u][j] if u v: return u # 階段二一起往上跳 for j in range(LOG - 1, -1, -1): if up[u][j] ! up[v][j]: u up[u][j] v up[v][j] return up[u][0]階段二那個(gè)從大到小的循環(huán)方向特別重要必須從高位往低位試。因?yàn)槲覀円M可能跳得遠(yuǎn)但又不能跳過LCA。從大往小試能保證最后停在最近的位置。如果從小到大試會(huì)跳得不夠遠(yuǎn)邏輯就錯(cuò)了。這個(gè)細(xì)節(jié)很多人第一次寫會(huì)搞反。3.4 倍增法的復(fù)雜度與適用邊界預(yù)處理時(shí)間O(n log n)空間O(n log n)單次查詢O(log n)。這個(gè)復(fù)雜度對(duì)于絕大多數(shù)場景都?jí)蛴昧?。它的?yōu)勢是通用性極強(qiáng)不要求樹是靜態(tài)的雖然動(dòng)態(tài)更新跳表比較麻煩能處理任意形態(tài)的樹還能順便支持求第k個(gè)祖先這類操作。缺點(diǎn)是空間是n log n如果n到了百萬級(jí)內(nèi)存會(huì)有點(diǎn)吃緊。提示如果n特別大比如10^6以上而查詢次數(shù)不多其實(shí)暴力法反而更劃算。別迷信高級(jí)算法選型要看具體數(shù)據(jù)規(guī)模。4. Tarjan離線算法查詢多、樹不動(dòng)時(shí)的效率之王4.1 離線思維把所有查詢攢起來一起算倍增法是在線的——來一個(gè)查詢答一個(gè)。但如果你的場景是一次性拿到所有查詢?nèi)缓笈砍鼋Y(jié)果那Tarjan離線算法往往更快。Tarjan的核心是DFS 并查集。它利用DFS的回溯特性在遍歷樹的過程中順便把所有查詢都解決了。單次查詢的均攤復(fù)雜度接近O(1)整體是O(n m·α(n))其中α是并查集的反阿克曼函數(shù)實(shí)際可以當(dāng)成常數(shù)。這個(gè)思路的巧妙之處在于它把查詢這件事融進(jìn)了遍歷里而不是遍歷完再單獨(dú)查。對(duì)于查詢量巨大的場景比如m和n同量級(jí)甚至更大這個(gè)優(yōu)勢非常明顯。4.2 并查集在這里扮演什么角色理解Tarjan的關(guān)鍵是搞懂并查集維護(hù)的是什么。在DFS過程中每個(gè)節(jié)點(diǎn)有三種狀態(tài)未訪問、正在訪問在遞歸棧里、已訪問完子樹處理完畢。并查集維護(hù)的是已訪問完的節(jié)點(diǎn)的集合并且每個(gè)集合的代表元指向它當(dāng)前能追溯到的、還在遞歸棧里的那個(gè)祖先。當(dāng)DFS訪問到節(jié)點(diǎn)u處理所有跟u相關(guān)的查詢(u, v)時(shí)如果v還沒訪問跳過等以后v被訪問時(shí)再處理這對(duì)查詢。如果v已經(jīng)訪問完了那么v所在并查集集合的代表元就是LCA(u, v)。為什么因?yàn)関已經(jīng)處理完說明v的整棵子樹都遍歷過了而u還在棧里說明u是v的某個(gè)祖先方向上的節(jié)點(diǎn)。此時(shí)v能追溯到的、還在棧里的最深祖先恰好就是它和u的分叉點(diǎn)也就是LCA。4.3 完整實(shí)現(xiàn)與關(guān)鍵細(xì)節(jié)def tarjan_lca(n, adj, root, queries): # queries[u] [(v, query_id), ...] parent list(range(n 1)) # 并查集 ancestor [0] * (n 1) # 集合代表元對(duì)應(yīng)的祖先 visited [False] * (n 1) answer [0] * len(queries) def find(x): while parent[x] ! x: parent[x] parent[parent[x]] # 路徑壓縮 x parent[x] return x def dfs(u): visited[u] True ancestor[find(u)] u for v in adj[u]: if not visited[v]: dfs(v) parent[find(v)] find(u) # 合并子樹到u ancestor[find(u)] u # 處理與u相關(guān)的查詢 for (v, qid) in queries[u]: if visited[v]: answer[qid] ancestor[find(v)] dfs(root) return answer幾個(gè)容易翻車的點(diǎn)第一ancestor的更新時(shí)機(jī)。每次合并完子樹后要把合并后集合的ancestor重新指向u。因?yàn)楹喜⒑蟠碓赡茏兞瞬桓戮蜁?huì)拿到錯(cuò)誤的祖先。第二查詢要存雙向。因?yàn)樘幚?u,v)時(shí)可能v還沒訪問得等v被訪問時(shí)從v那邊再處理一次。所以queries[u]和queries[v]都要存這條查詢。第三遞歸深度問題。跟倍增法一樣深樹會(huì)爆棧。生產(chǎn)環(huán)境建議改迭代或者手動(dòng)加大棧空間。4.4 什么時(shí)候該選Tarjan而不是倍增判斷標(biāo)準(zhǔn)很簡單維度倍增法Tarjan離線查詢模式在線來一個(gè)答一個(gè)離線必須預(yù)先知道所有查詢單次查詢O(log n)均攤O(α(n))≈O(1)預(yù)處理O(n log n)無獨(dú)立預(yù)處理空間O(n log n)O(n m)實(shí)現(xiàn)難度中等中等偏上并查集易錯(cuò)適用場景查詢少、需在線查詢海量、可離線如果你的查詢次數(shù)m遠(yuǎn)大于nTarjan的均攤優(yōu)勢會(huì)非常明顯。但如果查詢是流式的、必須即時(shí)回答那只能選倍增。選型的第一原則永遠(yuǎn)是先搞清楚你的查詢模式。5. 歐拉序 RMQ把LCA變成區(qū)間最值問題5.1 一個(gè)漂亮的轉(zhuǎn)化LCA等價(jià)于區(qū)間最小值這是我覺得LCA里最優(yōu)雅的一個(gè)思路。它把樹上問題轉(zhuǎn)化成了數(shù)組上的區(qū)間查詢問題。做法是對(duì)樹做一次DFS記錄歐拉序也叫DFS序的擴(kuò)展版——每次進(jìn)入一個(gè)節(jié)點(diǎn)記一次每次從子樹返回父節(jié)點(diǎn)時(shí)也記一次。這樣得到的序列長度是2n-1。同時(shí)記錄每個(gè)節(jié)點(diǎn)在序列中第一次出現(xiàn)的位置first[u]。關(guān)鍵結(jié)論LCA(u, v)就是歐拉序中first[u]到first[v]這段區(qū)間里深度最小的那個(gè)節(jié)點(diǎn)。為什么因?yàn)閺膗走到v在歐拉序上必然經(jīng)過它們的LCA而且LCA是這段路徑上深度最小的點(diǎn)。這個(gè)性質(zhì)把LCA問題完美地轉(zhuǎn)化成了**RMQ區(qū)間最小值查詢**問題。5.2 稀疏表ST表實(shí)現(xiàn)O(1)查詢既然變成了RMQ那就可以用經(jīng)典的ST表Sparse Table來做到O(1)查詢。ST表的預(yù)處理是O(n log n)查詢O(1)。import math def build_euler(n, adj, root): euler [] # 歐拉序存節(jié)點(diǎn) depth_arr [] # 對(duì)應(yīng)深度 first [0] * (n 1) visited [False] * (n 1) def dfs(u, d): visited[u] True first[u] len(euler) euler.append(u) depth_arr.append(d) for v in adj[u]: if not visited[v]: dfs(v, d 1) euler.append(u) depth_arr.append(d) dfs(root, 0) return euler, depth_arr, first def build_st(depth_arr): m len(depth_arr) LOG m.bit_length() # st[i][j] 存區(qū)間 [i, i2^j-1] 中深度最小的節(jié)點(diǎn)在depth_arr中的下標(biāo) st [[0] * LOG for _ in range(m)] for i in range(m): st[i][0] i for j in range(1, LOG): for i in range(m - (1 j) 1): left st[i][j-1] right st[i (1 (j-1))][j-1] st[i][j] left if depth_arr[left] depth_arr[right] else right return st def query_lca(u, v, first, depth_arr, st, euler): l, r first[u], first[v] if l r: l, r r, l length r - l 1 k length.bit_length() - 1 left st[l][k] right st[r - (1 k) 1][k] idx left if depth_arr[left] depth_arr[right] else right return euler[idx]5.3 歐拉序方案的取舍這個(gè)方案的優(yōu)勢是查詢O(1)比倍增的O(log n)還快。而且思路清晰一旦理解了歐拉序的性質(zhì)代碼其實(shí)不難寫。但它有幾個(gè)明顯的代價(jià)空間更大歐拉序長度是2n-1ST表又是(2n) log(2n)比倍增的n log n大一倍左右。預(yù)處理常數(shù)大建ST表的雙重循環(huán)實(shí)際跑起來比倍增的預(yù)處理慢。只適合靜態(tài)樹樹一變整個(gè)歐拉序和ST表都要重建。所以我的經(jīng)驗(yàn)是如果查詢量極大且樹完全靜態(tài)歐拉序ST表是最優(yōu)解否則倍增法更省心。別為了那點(diǎn)查詢速度提升把代碼復(fù)雜度拉高一大截維護(hù)成本也是成本。注意歐拉序的DFS同樣有遞歸深度問題。而且歐拉序長度是2n如果n很大光是存這個(gè)序列就要不少內(nèi)存選型前先估一下。6. 四種解法橫向?qū)Ρ纫粡埍韼湍阕鲞x型決策前面講了四種主流方案這里做個(gè)系統(tǒng)對(duì)比方便你直接查表決策。方案預(yù)處理單次查詢空間在線/離線最適合的場景暴力爬樹O(1)O(樹高)O(n)在線樹淺、查詢極少倍增法O(n log n)O(log n)O(n log n)在線通用首選查詢中等Tarjan離線無均攤O(α(n))O(nm)離線查詢海量、可離線歐拉序STO(n log n)O(1)O(n log n)在線查詢極多、樹靜態(tài)選型的決策鏈路我一般是這么走的第一步看查詢模式。流式在線查詢排除Tarjan能批量離線Tarjan值得考慮。第二步看數(shù)據(jù)規(guī)模。n小幾千以內(nèi)且查詢少暴力法最省事別過度設(shè)計(jì)。n大且查詢多上倍增或歐拉序。第三步看樹是否靜態(tài)。樹會(huì)動(dòng)態(tài)變化倍增法改起來相對(duì)可控雖然也麻煩歐拉序基本要重建。第四步看查詢次數(shù)。查詢次數(shù)遠(yuǎn)超n歐拉序的O(1)優(yōu)勢才體現(xiàn)得出來否則倍增的O(log n)完全夠用。我見過太多人一上來就寫歐拉序ST表結(jié)果數(shù)據(jù)規(guī)模才幾千純屬殺雞用牛刀代碼還容易寫錯(cuò)。選型要匹配問題規(guī)模這是工程思維和刷題思維最大的區(qū)別。7. 實(shí)戰(zhàn)中那些文檔不會(huì)告訴你的坑7.1 根節(jié)點(diǎn)的父節(jié)點(diǎn)處理這是最經(jīng)典的坑。根節(jié)點(diǎn)沒有父節(jié)點(diǎn)那up[root][0]填什么填0假設(shè)節(jié)點(diǎn)編號(hào)從1開始還是填自己填0的話如果查詢時(shí)不小心跳到了0后續(xù)up[0][j]全是0可能掩蓋邏輯錯(cuò)誤。填自己的話跳過頭會(huì)原地打轉(zhuǎn)。我的建議是填0并且在查詢邏輯里保證永遠(yuǎn)不會(huì)真正用到0這個(gè)越界值——因?yàn)閷?duì)齊深度和一起跳的過程理論上不會(huì)讓節(jié)點(diǎn)跳到根之上。但為了保險(xiǎn)可以在填表時(shí)把up[0][j]都設(shè)成0讓越界訪問有個(gè)確定的兜底。7.2 深度對(duì)齊時(shí)的循環(huán)方向階段一對(duì)齊深度時(shí)for j in range(LOG)從小到大還是從大到小其實(shí)都可以因?yàn)槲覀兪前炊M(jìn)制位判斷的每一位獨(dú)立。但階段二一起跳的時(shí)候必須從大到小。這兩個(gè)循環(huán)方向不一樣很多人寫著寫著就混了。記住口訣對(duì)齊深度看位一起跳看大小。7.3 多組測試數(shù)據(jù)的初始化如果是在競賽或批量處理場景多組測試數(shù)據(jù)之間一定要徹底重置所有數(shù)組。我見過因?yàn)閡p表沒清干凈上一組數(shù)據(jù)殘留導(dǎo)致答案錯(cuò)誤的案例。Python里重新分配數(shù)組最省心C里記得memset或者重新構(gòu)造。7.4 節(jié)點(diǎn)編號(hào)從0還是從1開始這個(gè)看似小事實(shí)則影響巨大。從1開始的話0可以當(dāng)哨兵從0開始的話就沒有天然的哨兵值了。我個(gè)人的習(xí)慣是統(tǒng)一從1開始編號(hào)把0留作哨兵能省掉很多邊界判斷。如果輸入是從0開始的讀入時(shí)統(tǒng)一加1。7.5 遞歸改迭代的通用套路前面反復(fù)提到遞歸爆棧。改迭代的通用做法是手動(dòng)維護(hù)一個(gè)棧棧里存(節(jié)點(diǎn), 父節(jié)點(diǎn), 狀態(tài))狀態(tài)標(biāo)記是第一次訪問還是回溯?;蛘吒唵蜗扔肂FS求出遍歷順序和父節(jié)點(diǎn)再按逆序處理回溯邏輯。對(duì)于倍增法其實(shí)只需要父節(jié)點(diǎn)和深度BFS一遍就夠了根本不需要DFS。這個(gè)優(yōu)化能同時(shí)解決爆棧和效率問題。8. 從LCA延伸出去幾個(gè)高頻衍生問題搞懂了LCA很多樹上查詢問題都能順手解決。這里列幾個(gè)最常見的延伸算是給你指個(gè)方向。樹上兩點(diǎn)距離。有了LCA距離公式就是depth[u] depth[v] - 2 * depth[lca(u,v)]。這個(gè)公式極其常用路徑長度、樹上最遠(yuǎn)點(diǎn)對(duì)之類的問題都靠它。樹上路徑第k個(gè)節(jié)點(diǎn)。從u到v的路徑上第k個(gè)點(diǎn)先判斷k是否超過u到LCA的距離分兩種情況用倍增跳。這是倍增法跳表能力的直接應(yīng)用。判斷一個(gè)點(diǎn)是否在兩點(diǎn)路徑上。點(diǎn)w在u-v路徑上當(dāng)且僅當(dāng)lca(u,w)w且lca(w,v)ww是u的祖先且是v的祖先方向或者更準(zhǔn)確地用距離公式驗(yàn)證。這類判斷在路徑覆蓋、樹上差分里很常見。樹上差分。給u到v的路徑上所有點(diǎn)加一個(gè)值可以用差分diff[u] 1, diff[v] 1, diff[lca] - 1, diff[parent(lca)] - 1最后子樹求和。這個(gè)技巧配合LCA能解決一大批路徑統(tǒng)計(jì)問題。這些延伸的共同點(diǎn)是LCA是它們的地基。地基打牢了上面的樓怎么蓋都行。所以別急著刷各種花哨的樹上問題先把LCA這幾種解法吃透后面會(huì)輕松很多。我個(gè)人在實(shí)際項(xiàng)目里的體會(huì)是真正高頻用到的其實(shí)就是倍增法這一種因?yàn)樗ㄓ?、在線、好維護(hù)。Tarjan和歐拉序更像是特定場景的優(yōu)化手段知道原理、需要時(shí)能撿起來就行不必強(qiáng)求每種都背得滾瓜爛熟。把一種方案寫到閉著眼睛都不出錯(cuò)比每種都半懂不懂要值錢得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日少妇视频| 最新啪啪视频| 综合一区中亚洲国产成人综合精品| 啊啊啊啊嗯嗯在线久久久| 秋霞午夜视频一区二区| 色色丁香| 一级毛片久久久久久久女人18| 日韩三级av片| 日韩无码久久熟女一级片| 亚洲少妇色| 亚洲国产精品成人无码久久久| 91色宗合| 精品十八在线观看| 久热大香蕉网站| 亚洲综合另类小说色区亚洲成av人片在www| 97中文字幕一区| 干b在线性社区| 97超碰美国| 99久久久er直播网址| 91精片| 天天干1区2区在线| 97干天天| 天天综合网AV91| 怡红院怡春院| 精品国产91久久久久久一区黄无| 久久超碰爱| 开心五月婷婷激情| 欧洲熟妇xxXx欧美老妇裸体| 一级啊性爱在线视频| 国产精品不卡一区二区电影| 校园春色五月天| 五月天人妻综合| 日本东京热大香蕉a片| 男人亚洲91首页在线| 亚洲欧美一区二区三区一猛片| 日韩成人性日韩成人性爱视频在线免费观看| 人人妻人人爽人人精品| 99久久久99久久91熟女| 中文字幕性感少妇av| 免费人成在线观看网站品爱网| 久久老女人| 欧美双插| 久久国产精品m码| 欧美国产有色电影| 综合视频91| 青青草白白色| www.av不卡中文字幕| 欧美成人综合| 久草在| 91嫩草欧美| 久久e6只有精品| 久视频在线观看| 五月激情综合网| 五月丁香综合| 欲色影视综合吧| 日本天堂网| 中文字幕乱碼在线| 啊啊啊啊在线观看网址| 久艹伊人精品综合在线| 国模不卡一本二本三电影| 青青青操| 国产欧美日韩臀 | 国产日韩无码一区二区三区久久区| 天堂无码| 一牛影视成人片免费| 国产在线激情视频| 精品欧美А∨无码黑人大荫蒂| 在线免费观看日韩一区| 中文字幕国产| 日本在线不卡v二区| 中文字幕成人理论在线| 亚洲成人一区二区精品| 亚洲色图欧美视频| 欧美一级三级| 伊人精品国产| 后入日本1234| 天美传媒AV在线| 在线观看黄色电话| 在线观看一卡二卡| 操九九九九九九| 强上我不卡卡| 久久久久久波多野吉衣高潮| 大香蕉在线SuP| 天天综合麻豆视频| 天天爱天天操| 亚洲成人黄色在线观看| 亚洲日韩黑丝| 欧美专利1区2区3区4区5区免费| 91狠狠综合久久| 男人天堂导航| 久久一区二区三区四区五区| 国产多人在线观看视频| 国产操逼逼网| 伊人婷婷五月天| 色蜜AV| 欧美久久婷| 久久日本熟妇熟色高清| 九九探花视频在线观看| 99re6在线视频精品免费完整版安卓版| 国产精品大屁股999| 自拍啪啪视频| 超碰九7| 91精品人妻偷情| 国产成人一级av88| 婷婷综合久久| 日韩在线人妻网站| 欧美极品色| 神马麻豆福利院| 69av一区二区三区| 粉嫩不卡一区二区性爱| 熟女人妻av在线资源,黄色的资源| 日本三级小说中文字幕| 加勒比性爱成人在线| 欧美天天干| 青草草免费网站av| 天天肏美女| 欧美中字二区| 无卡一区=区| 老熟女综合| 自怕偷自怕亚洲精品| 女人被添高潮免费视频| 午夜福利久久久噜久噜久久综合 | 91 国产丝袜在线放观看| 青青草在线视频欧美| 九久久精品| 天久久久噜噜噜久久国产精品爽爽| 久久东京热久久| xxxx网站亚洲精品| 按摩中文字幕| 密臀成人视频久久久| 久夜视频| 99精品久久久久久久婷婷蜜桃| 国产97在线视频| 在线观看成人性爱免费小视频| 中文字幕日韩电影人妻| 色婷婷亚洲婷婷| 亚洲精品蜜桃久久久久久久| 高潮9999外国| 26uuu国产亚洲综合| 人看人人摸人人操| 嗯,啊。舔我逼| 久久中出| 制服乱伦| AV99热18这里只有精品| 99久久九九| 天天欧美欧美亚洲网| 操逼www.| 日韩中文字幕在线视频观看| 综合婷婷| 男人成人黄色视频在线观看免费下载| 大吊色| 欧美色网络| 精品偷拍13p欧美dodk视频| 欧美亚洲综合色| 精品女同一区| 国产操操日韩三级黄| 99热99re超碰精品| 色九久| 人妻日日干| 日夜久久久九九九久| 亚洲资源一区| 久久久久久精品免费看A级| 超碰三级秋霞| 国产日本顶级一区二区三区| 欧美亚洲| 制服少妇欧美| 天天视频黄| 大香蕉操久久| 97在线观| 好吊妞转入那个网| 伊人欧美大香蕉视频| 亚洲暴力强奸AV| 青青草啪啪网| 秋霞怕怕片| 97久久精品亚洲| 久久高潮妇女视频| 秋霞网无码| 99色综合| 九九热九九| 欧美成人性爱视频大全| 日韩情色AV| 天天天天做夜夜夜夜做| 国产欧美日本亚洲精品| 国产欧美日韩臀| 国产毛片片精品天天看视频| 嗯阿好爽好紧| 性爱综合一区二区| 啊啊啊啊啊在线视频| 懂色av一区二区三区天美传媒| 狼人久草| 96国产精品| 久久人人爽人人爽人人片Ⅴ| 蜜臀中文无码午夜| 91久久婷婷| 亚洲伊人青青草| 殴美大黄片| 好一吊区二区| 欧美系列在线一区二区| 九九超碰综合网| 乱伦3P视频| 女上位精品在线| 国产操逼逼网| 91精品在线播放| 欧美精品自慰系列寂寞少妇| 久久久久斤小| www.久久久久| 青青在线视频日韩欧美| 熟妇人妻一区二区| 成人精品久久久午夜福利| 1区2区3区中文字幕日韩| 激情黄色片在线观看| 国产亚卅97| 国产精品蜜臀久久久久无码AV| av午夜玫瑰| 欧美91视频| 欧美大片天天看| 性开放中文AV高清无码免费看| 玖玖爱伊人玖玖爱| 911粉嫩人妻| 综合亚洲网| 五月天激情综合网| 91久久九九精品国产综合| 亚洲资源吧| 久久成年片色大黄全免费网站| 激情久久日韩精品中文字幕麻豆| 欧美综合骚| 97视频免费| 内射日韩大臀美女| 夜夜操青青草| 亚洲人人夜夜澡人人爽| 丝袜熟女2P| 一区AV| 蜜臀久久久国产| 黑人黄片在线免费观看| 亚洲色人阁| 99自拍B亚洲 | 国产精品ⅴ无码大片在线看.| 欧美在线55555| av天堂5| 91中出视频| 欧美99| 亚洲欧洲自拍图片专区满春格| 日本蜜桃| 欧美色五月| 香蕉欧美| 欧美青青草视频| 欧美日韩成人在线| 亚欧免费| 超碰精品97| 日本一区二区电影网站| 国产高清成人传媒影视| 亚洲国产综合视频| 91高潮喷水美女| www激情| 偷拍亚洲熟女视频播放| 久草看看看| 九九九午夜| 国产乱码精品一区二区三区四川| 亚洲一区二区三区婷婷| 欧美青青草视频| 极品色社| 日本一本道A级黄色毛片试看60分钟| 久久老女人| 男人的天堂久久狠| 白丝1区2区3区| 一,爱啪啪,在线免费视频| 少妇精品久久| 一二视频神马久久传媒| 久久久9视频| 精品午夜福利国产一区二区在线观看| 成人怡红院| 天堂涩涩| 躁躁日曰躁2020| 亚洲少妇综合| 操淫穴亚洲五月丁香| 丁香色婷婷| 亚洲囯产精品女人久久久| 91老妇女| 中文字幕午夜精品久久久| 在线女人91| 欧美国产日韩高清在线| 加勒比在线观看一区二区| 性色综合网| 亚洲97p| 九九在线视频| av资源在线播放天堂| 人人操,人人插| 少妇天堂| 欧美女同在线| 加勒比久久av| 91激情网| 亚洲高清视频在线观看| 久久久一区二区三区四曲免费听 | 亚洲综合伊人| 超碰1024久久| 亚州精人品大香蕉| 99热婷婷| 白嫩国模丰满一二三区| 伊人精品久久网站| 亚洲国产成人7777| 亚州男人天堂| 密臀在线视频| 中文字幕一品色图| 2019午夜福利视频| 丰满精品人妻少妇久久字幕| 韩国轻伦国内自拍一区| www.狠狠操| 日韩AC| 404操逼福利视频| 黑人美精品 A片| 超清福利精品视频在线| 搡老女人老熟女91| 校园春色 欧美| 啊啊啊轻点在线观看| 久久美国毛片| 日本天天干天天搞一区| 大香蕉啪啪啪啪在线| 日本不卡卡一区| 夜夜操天| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 暖暖精品二区三区观看| 中文字幕啊啊啊在线观看视频| 黄片直播三级黄片两女一男| 中日韩熟女| 久久直播国产| 成年女人黄网站| 两女互慰AV高潮喷水在线观看| 国产高清成人免费视频| 97色碰| 色姑娘综合网| 秋霞网无码| 人人爱人人乐人人操| 日本色日夜干| 91处女在线观看| 中文字幕在线免费观看2| 97亚洲精品超碰| 麻豆视频一区二区| 啊啊啊啊啊啊好多水| 久久黄人人爽视频| 91美女小视频| 手机看片91人妻| J?P?NESEHD熟女熟妇伦| 强被迫伦姧在线观看无码网站| 欧洲性爱无码区| 999久久久国产精品| 东北熟女91| 久久9 9 9精品| 国产不卡的视频 | 熟女日韩| 一区二区三区四区五区高清无码永久视频 | 亚洲欧美日韩偷拍色图| 日韩国产精品人妻无码久久久| 97超碰超碰| 亚州熟女乱伦| www.99色| 一本色道无码DVD中文字幕| 国产免费一区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 黄总AV色图| 美性中文综合网| 超碰免费欧美7| 嗯嗯啊啊日韩精品| 日韩性色| 久久伊人最新网址视频| 精品欧美А∨无码黑人大荫蒂 | 国产九区| 风间由美日韩欧美久久| 亚洲欧美色图片| 男同专区一区二区三区在线| 亚洲日韩av专区无码| 老司机深夜18禁污污网站| 久久精品毛片免费不卡| 色狠狠色| 国产a级精品| 伊人久久亚洲中文字幕不卡| 天天操天天干美女网址导航| 人妻少妇精品| 白天啪啪晚上啪啪视频| 熟女乱伦二区| 精品无人区麻豆乱码久久久| 俞拍自拍| 91激情| 男人的天堂午夜av| 另类天堂| 亚洲日韩肥臀视频在线观看| 国产强上视频在线观看| 亚洲操操操| 精品射1999| 福利大香蕉| 91岛国动作片| 日韩综合无码色欲vv| 婷婷中文网| 96久久科窝| 超碰碰激情97+久| 97久久超碰国产精品| 操逼操逼操| 国产尤物AV尤物在线观看不卡| 六月激情婷婷| 99re69| 欧美碰碰综合色| 91在线秘 男同| 欧美在线视频99| 日韩精品熟妇| 精品97久久| 亚洲av无码国产精品字幕| 久久这里只精品99re66图| 人妻夜夜爽天天爽麻豆三区网站| 2019亚洲男人天堂| 亚洲成人激情小说视频| 国产大学生高潮在线播放| 欧美不卡在线美女| 97久久综合网| 久久东京伊人一本到鬼色| 国产福利合集| 欧美熟女操屄| 330Dv国产女人终合视频极品人与兽| 91色人| 日本欧美一区二区三区视频麻豆| 99精品久久| 亚洲AV资源| 91精品久久久久| 欧美日日操| 精品福利视频| 中国91AV| 中文字幕精品资源在线| 九九亚洲精品| 成年无码动漫av片无尽在线 | 熟女人妻精品一区二区视频| 亚洲一区二区三区在线激情| 六月丁香五月婷婷| 少妇丝袜在线观看AV| 天天夜躁日日躁狠狠2002| 熟女乱伦二区| 啊啊啊久久久视频| 操操吧亚洲乱伦视频| 激情99| 日韩电影中文字幕| 国产理论视频在线播放| 大香网伊人久久综合网eew| 欧美97爱| 激情综合五月| 欧美丰满少妇交换91欧美精品| 一起草欧美| 五月天黄色av| 亚洲欧美综合| 国产精品久久久亚洲一区| 精品一区二区2| 久久国产热视频97电影| 亚洲一本色码中文字幕| 操b在线观看| 91久久精品国产| 男人天堂新| 天天插天天操| 亚洲色性| 激情综合亚洲| 男人天堂毛片| 九九久久精品| 日1区2区3区2020| 自慰白浆在线观看| 99精品丰满人妻无码| 国产精品视频一区二区三区八戒| 伊人久久大香线综合无码| 一级黄色性爱裸体视频| 久久大香蕉手机高清| 精品国产乱码久久久A| 婷婷丁香五月综合| 91中出视频| 久久综合激情| 男人的天堂VA| 91人妻PORNY九色大屁股| 91久久国产精品| 日韩欧美经典在线观看| 九久久精| 日韩精品一区二区三区四虎影视| 91人妻在线视频| 夜夜肏2021| 中文字幕三四区| 欧美1727免费观看视频| 婷婷久久五月综合激情| 免費人妻夜夜爽天天爽爽一区| 久久伊人最新网址视频| 精品无吗久久| 一个国产在线综合网站| 色欲色香天天天综合网www-亚洲综合国| 八戒无码国产午夜福利| 超碰碰激情97+久| 岛国黄色短视频| 日本熟妇色熟妇在线视频播放| 亚洲国产欧美另类自拍| 手机av亚洲丝袜美腿日韩第一页二页| 国产精品人人爽人人做可爱福利| 18禁久极品美女久久哦哟呀!| 亚州综合| 天天日天天射天天干| av影片在线观看不卡| 久艹伊人精品综合在线| 美国日韩黄片| 日韩中文字幕宗合在线| 国产精品呦一区二区三区| 中文在线视频| 日本精品高清一二区一本到| 一二三区精品视频| 中文字幕在线24| 2023天天操夜夜操| 国产一级久久久| 国产精品久久99日日| 精品一区二区三区四区女| 激情网色| 91劲爆| 亚洲五月婷| 色五月AV| 秋霞一区二区三区四区五区六区七区| 一区二区三区美女超清| 色婷婷综合网站| 五月丁香色综合| 久热免费视频| 欧美色狠| 91超碰在线观看| 国产免费黄色一级大片| 久热无码| 色欲av一区二区三区蜜芽| 99超碰碰| 麻豆国产成人精品| 一区二区你上我| 日韩精品中文字幕一| 97碰| 欧美天天影院| 91日日夜夜| 成人女人国产| 青青青国产| 高清无码在线播放网站| 亚洲色图综合| 亚洲人精品久久久| 亚洲精品一卡二卡三卡福利视频网站| 超碰三级秋霞| 亚洲AV无线| 久久婷婷电影网| 97色综合中文网| www. 男人天堂成人在线| 成人色女网| 人人色97| 免费观看有码高清视频| 国产一区二区在线电影| 国产高清在线观看欧美| 国产亚洲日韩欧| 十八禁啪啪视频| 亚洲色婷婷综合久久一区二区三区| 色偷综合| 亚州高清色综合| 日韩欧美字幕亚洲一区二区| 九九五月天| 久久人人看| 凸凹视频在线观看| 黄站在线免费观看| 99只有精品| 亚洲妇色| 69AV女优男人的天堂| 日本99视频| 免费1级a做爰片观看| 超碰成人人人爽人人爽| 91亚洲网站| 果冻传媒A片麻豆熟妇人妻| 色偷偷人人玩人人舔人人操人人摸人人爽| 欧美色图亚州激情| 成人AV素股で擦久久| 五月丁香社区婷婷日韩欧美精品影院 | 亚洲性刺激| 自拍第一页| 好屌色综合| 殴洲老熟女| 男生女生啊啊啊啊| 欧美日韩精品久久| 亚洲老司机123专区| 午夜欧美神马久久久久| 欧美久久毛片基地| 99re95| 91激情综合| 蜜桃精品一区二区三区久在线| 久久成人午夜狠狠| 九热超碰| 91日韩网站| 凌辱美少妇久久aV| 欧美亚洲综合高清在线| 欧美日韩另类激情图片| 超碰色老头| 亚洲精品久久久久毛片A片拉屎 | 妇女乱色二区| 密臀在线一区尤物| 香蕉视频欧美一卡二卡| 秋霞午夜成人福利片片| 中文?日韩?免费?精品| 永久免费av无码网站国产app| 欧美97网| 色五月AV| 国产亚洲精品A在线观看下载| 国产精品 久久久精品一牛| 狠狠中文字幕| 奇米四色影视777久久久| 五月婷婷丁香中文字幕| 嗯啊不要在线| 亚洲吊色| 精品无码一区二区三区| 久久系列| 熟女激情综合网| av网页一区二区三区| 亚洲图片欧洲图片aⅴ| 激情综合婷婷| 亚洲综合激情五月久久| 欧美日韩国产电影| 香蕉免费一区二区三区不读| 99视频自拍区| 狠狠操狠狠操操| 亚洲免费成人精品电影| 99在线观看| 天天操天天射青青草| 欧美天堂第二区| 色97欧美| 日韩激情无码影院| 影音先锋中文字幕日本好一区二区| 五月天丁香婷婷综合网站| 久久久极品| 亚洲图片欧美色图| 综合操逼| 东京太热久久久| 色五月AV在线| 欧美激情综合| 欧美一区二区三区日韩| 超碰超碰95| 天天色怡春院| 丰满人妻-区二区三区免费看| 大香蕉一级黄色片久久| 福利伊人玖玖国产| 天天综合在线4| 99在线精品观看视频中文 | 男人天堂黄片| julia高潮后不停追击中出| 午夜欧美神马久久久久| BBBBB97COM| 黄色片一区二区三区四区五区| 青娱乐日韩无码| 夜夜嗷嗷一区二区| 先锋女优在线观看视频| 3D污黄视频在线观看| 爆操无码| 99re99视频在线免费观看| 天天肏天天干| 91精品国产高清久久久久久,亚洲成人 | 91爆操视频| 97 亚洲 日韩 欧美 在线| 男人亚洲91首页在线| 久久伊人青青草| 日本天天干天天操一区| 亚洲综合中文字幕有码| 久久综合女优| 久久精品人人做人人看| 亚洲男人的天堂亚洲| 人人爽夜夜玩视频| 国产亚洲性生活视频播放| 欧美日韩性感| 亚洲视频精选| 欧美视频在线视频免费va| 日韩97视频| 日韩99精品视频综合区| 精品 码产区一区二-1080P高清在线www-B029AV | 性色国产东北露脸精品视频| 久久久久久久精| 影音先锋国产精品| 锕锕好爽 死我在线观看| 午夜亚洲WWW湿好大| 超碰三级秋霞| 天天综合网在线观看| 亚洲国产一区二区三区四区国产| 亚洲欧美综合网站| 国产探花精品在线| 免费亚洲国产精品久久一区| 国产精品蜜臀久久久久无码AV| 情色日播放AV| 84YTCOM性无码| 91 手机在线播放 绯色| 欧美东京热青青草| 五月天色图影视| 国产精品一区二区密臀| 激情视频网址| 久久久555| 九九热超碰| 亚洲欧美综合图片| 精品国产精品一区二区| 91精品在线播放| 乱老女人一区二区视频| 五月天精品| 丁香婷婷大香蕉| 日本天天干天天日一区| 国产美女高潮叫床视频| 9 1果冻精品视频| 99啪啪视频| 欧美天天射| 人妻天天操天天爽视频免费| 在线视频 亚洲精品| 人妻天天爽夜夜爽精品2| JIZZJIZZ亚洲女人被躁| 你草精品在线视频| 欧美性色网| 97天天搞在线| 98人妻精品一区二区色欲| 国产污视频麻豆传媒一区二区| 影音先锋每日最新资源在线观看| 久久超碰97中文字幕| 欧美日韩日产免费网站看| 99蜜月精品久久| 伊人少妇久久久| 高清国产无码av| www.男人天堂| 人人考人人摸人人干| 伊人91| 亚洲麻豆精品二区三区| 日韩精品资源专区二区| 精品人妻一区二区乱码一区二区| 操比国产| 亚洲97在线观看| 97超碰资源网| 亚洲国产激情国产av| 东京热毛片调教| 精品久久久久9999| 一级婬片120分钟试看| 久久久国产精品亚洲精品| 柠檬AV导航| 综合久久9| 女人的天堂大香蕉网| 岛国视频免费在线观看| 97综合激情| 日日夜夜噜| 国内毛片无码一级毛片| 日韩免费福利在线观看| 97情超碰色| 亚洲AV免费在线观看| 久久一区二区高清免费| 日本在线999| 不卡人妻少妇精品毛片一区23区视频 | 女色视频社区| 377p欧洲日本亚洲大胆| 亚洲国产精品无石码久久| 久久久久久久久久久久黄色 | 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 一区二区三区国产在线播放 | 尤物网址| 国产精品久久久久久久久久久久久久吹| 亚洲综合码| 五月丁香成人网| 欧美性爱第一区| 欧美91精品国产自产| 中国熟女91| 日韩一区二区熟女| 天天肏夜夜肏| 国产一区在线观看无码AV| 欧综合网| 亚洲九九视频在线观看| 99久久久无码| 2024人人操人人摸| 超碰无码加勒比| J?P?NESEHD熟女熟妇伦| 伊人宅男大香蕉| 91男人天堂网| 午夜成人福利影视| 色五月婷婷在线| 欧美日韩国产色图在线| 欧 美 自 拍 偷 拍| 亚洲国产综合久久久性感熟妇| 久久永久无码人妻视频| 蜜区区视频79 | 国产免费一区2区3区| 国产日产欧产美韩系列麻豆免费| 国产一区麻豆免费观看| 日韩国语字幕| 六月天婷婷| 国产精品免费视频人成| 美女国产一区二区久久| 八戒午夜福利理论片| 91老熟妇| 日韩十八禁| 91色s| 精品一区二区三区四区外站 | 一本一道久久综合久久| 久久的网站啊啊啊啊啊| 婷婷在线播放| 欧美黄色大香蕉一区二区| 温婉少妇玩3p| 国产毛片在线| 久久精品中文字幕观看| 八戒午夜福利理论片| 国模无码人体一区二区三| 久久啊啊啊| 欧美美女视频| 欧美 亚洲精品首页| 加勒比综合a∨| 久久久久921| 成人一区二区三区四区| 亚洲男人的天堂AV| 熟妇精品juliaannAV| 99啪啪| 久久超碰大香蕉| 欧美日韩国产电影| 久久久久元码视频| 日韩美女,国产传媒,视频一区| 99啪啪| 丁香婷婷激情五月天无毒不卡| 蜜臀av中字字幕网站| 人妻密肉在线观看| 99蜜桃臀亚洲成人在线观看| 射欧美综合| 久久精品视| 欧美熟女丝袜| 国产精品白丝AV| 四虎av在线| 三及片网站| 中文字幕一区二区无码成人| 欧美自拍网| 欧美 色 亚洲| www国产无码| www.久久制服糖| 18禁网站在线播放| 青娱乐日韩无码| 人妻熟女字幕一区二区| 国产精品乱人伊人网| 夜夜嗨AV蜜臀av| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 毛片中心9视频99| 女人一区| 青青青青草av在线观看| 嗯嗯啊啊视频一区二区三区| 中文字幕亚洲永久精品| 久久久国产亚洲精品系列| 激情看片网站| 亚洲中文制服诱惑| 亚洲第91页 | 丁香五月天久久精品视频一区二区三区| 久久久久七视频| 亚洲视频二区 | 亚洲综合性网址| 日韩BBN| 综合色久欲| 91亚洲色图| aaa亚无码专区| 国产精品久久久久无码A√| 91粉嫩萝控精品福利网站_精品影音先锋国 | 黄色不卡视频| 91热色| 久久精品国产精品一区| 国产精品久久久久中文字幕| 爽爽淫人网| 情色五月天久久久| 9ⅰ久久久天天| 91青青草| 亚洲暴力强奸AV| 亚洲性爱高潮影院| 9999亚洲精品| 国产精品白丝www| 日本αv| 人妻熟女av国产网站| 91大胆欧美| 四虎免费看黄| 亚洲图片欧美偷拍| 欧美色www亚洲国产阿娇要播| 国产网红精品| 大香蕉碰碰| 亚洲性猛| 国产精品99999| 最新中文字幕精品在线| 亚州成人a∨| 国内成人圈中文字幕无码视频| 少妇被c 黄 免费观看| 黄色大香焦1级‘′‘| 欧美黑人猛交春色影视大全| 日韩欧美中文字| 欧美96精品在线| 亚洲1区2区三区高清中文字幕| 强奸少妇AV导航网| 蜜桃AV天堂| 成年人黄色小视频网站| 青青11操操操操操操操操| 欧美激色| 91在线欧美| 精品伊人久久久大香线蕉小说| 国产精品久久发布| 高清无码91| 男女激情黄色网址| 色盈盈影院| 91啪啪| www.99在线| 亚洲图片偷拍欧美| 久久久久久久久久久免费精品| 日韩精品区二区三区不卡| 日韩欧美偷拍美女视频| 国产 日韩,欧美 自拍| 思思热在线视频精品| 中文字幕一区二区三四五区日日骚| 日韩综合无码一区久久92| 亚洲成人在线播放| 女上位精品在线| 精品毛片av一区二区| 午夜精品99久久久久传媒| 超碰 欧美| 岛园激情| 久操视频免费在线观看| 91熟女丨91老女人| 五月丁香激情啪啪| 熟女一区二区三区| 亚洲第一免费视频| 天天综合香 ld视频| 97国产人人| 精品人妻伦一二三区久久| 怡红院网站在线视频| AV网站高清无码在线观看| 亚洲欧美日韩电影网站一区| 成 人片 黄色大片| 看黑丝美女操逼青青网站| A级国产欧美激情在线| 好湿好紧好爽 视频| 日韩97P| 一本道综合色图| 欧美激情内射| 99热这里只有精品99| 五月天亚洲网| 婷婷丁香激情| 粉嫩国产精品久久粉嫩| 欧日韩一二三f区| 天天综合网日韩7799| 人妻久热在线| 97亚洲综合| 欧美97在线观看| 99亚洲精品| 国产AV人人 夜夜人人澡| 狠狠91| 五月婷婷色| 97综合久久| 91色图片| 国内毛片欧美香蕉精品| 美日韩一卡二卡三卡免费人妻精品| 97在线免费看视频| 男人的天堂在线有码| 91中出视频| JIZZJIZZ国产精品喷水| 夜夜嗨老熟女AV一区二区三区| 天天躁日日躁AAAXX| 大香蕉伊人75| 小草三级久久观看| 日日插夜夜| 啊啊啊啊啊好舒服视频| 欧美精品自慰系列寂寞少妇| 久久人妻丝袜一区二区三| 三久久久四久久久久| 色香阁在线| 热久久国产| 久久久三区二区一区| 色婷婷在线视频| 日本爽爽爽爽爽爽免费视频| 中文幕97| 国产在线视视频有精品| 91老熟女| 老女人碰碰在线碰碰视频| 太久视频| 我要色综合网站| 日韩精品人妻中文字幕有码午| 第四色奇米影视777| 夜夜嗨一区二区三区三州加勒比| 97日本超碰综合| 眼镜人妻101.com| 亚洲情色 自拍| 97精品国产97久久久久久免费| 欧美激情视频在线一区| 天天澡天天爽日日av| 色五月首页| 丁香婷婷五月| 美女91色黄18| 大香蕉AV丝袜| 欧美一级久久久久久久大片动画| 欧美劲爆第一页| 夜草欧美| 久草免费在线一区二区| 东京热一区二区中文字幕| 欧美国产有色电影| 五月丁香社区婷婷日韩欧美精品影院 | www.色综合| 内射小黄片| 青青青青青手机视频| 中文字幕人妻色偷偷久久皮| 91色情黑丝搞鸡在线观看一区二区三区三州| 日本乱人伦片中文三区| 日本天堂在线播放| 国产久久一区二区午夜| 成人亚欧免费视频| 亚洲在线A| 欧美综合色站| 丁香五月婷婷基地| AV麻豆免费一区| 欧美伊人电影| 久久精品视| 欧美 亚洲 制服 精品| 国产h片在线观看视频| 欧美亚洲天天| 黄色片G G G| 色穴精品| 国产精品自产拍在线观看社区| 黄色电影在线播放综合网站 | 97ai亚洲| 亚洲日韩XXX| 人妻精品综合中文字幕在线| 熟女乱伦二区| 91伊人久| av网站免费看| 大鸡巴久久| 国产免费一区| 欧美综合在线91| 精品四五区| 九色婷婷| 激情久久av一区av二区av| 97亚洲精品| 欧美 亚洲 在线| 欧洲亚洲人妻无码高清久久三区四区| 天天α片| 加勒比在线视频| 亚欧Av| 欧美丝袜制服久久| 1769国内精品视频| 久久精品熟妇丰满人妻99| 日韩内| 欧美熟女逼久久久久久| 伊人青青草久久| 97色色国产视频| 亚洲天堂女优在线| 91 刺激在线| 九九碰九九爱97超碰| a v网站在线播放| 成人无码在线超碰网| 免费精品无码一级毛片牛牛影视 | 91色插| 亚洲第二页| 91欧美丝袜| 大屁股熟女一区二区三区| 91美女在线视频| 国产盗摄美女如厕大神作品在线观看| 五月色综合| 婷婷六月色| 无码又爽又硬又激情免费视频| 天美麻花大全视频| 久热91| www.久久久久| 欧美成人A√在线一区二区| 成人免费性爱视视| 91成人18| 亚洲国产成人精品久久久国产成人一区二区| 伊人九九九| 九热久| 国产91精品在线免费| 久热最新在线杭州| 亚洲高清综合网| 婷婷色综合欧美日韩| 熟女少妇视频| 97se亚洲综合自| 国产精品人妻无码久久久互動交流| 天天干18禁| 3PAV乱伦视频| 国产强奸AV在线| 襙一襙| 国产精品一区午夜福利| 欧美性爱日韩性爱| 91社区拍啪人妻| 91精品国产麻豆国产自产在| 国产精品干干干| 风流老熟女一区二区三区l| 高清无码国产亚洲| 亚洲av无码成人精品国产| 激情综合网五月婷婷| 亚洲男人天堂Av| 亚洲国产一级中文综合久久天堂在线免费观看 | 亚洲一区二区久久久久| 欧美大香蕉专区网| 欧美日韩第一页| 精品久久青青草| 97高清啪啪| 先锋音影AV| 青青操在线视频| 国产女同在线观看视频| 日婷婷| 国产97色在线| 香一区二区三区| 久久精9| 人妻人久久精品中文字幕| 中出欧美| 黑人精品XXX一区一二区| 亚洲中文字幕在线视频一区二区| 很很操在线| xxx0国产在线播放| 人妻激情偷乱视频一区二区三区| 亚洲国产精品乱码在线观看| 日本欧美色| 极品人妻少妇综合| 天天躁日日躁狠狠躁| 家庭乱伦国产| 久久精彩免费视频| 97国产精品国| 亚洲天天精品| 中文字幕99999| 色色网91| 久久97| 欧洲中文字幕| 久久视频少妇美女| 精品久| 亚洲成人美女无吗| 激情综合色| 久久男人网| 精品视频久久| 亚洲免费成人在线高清无码视频| 蜜乳AV.COM| 中文字幕第页| 日韩天天本| 免费a v| 又粗又长又爽在线观看| 亚洲国产日韩欧美熟妇在线| 青草香蕉网| 欧美色图 色综合图| 国产一区二区成人av在线播放| 久草视频分类在线| 夜精品久无码| 亚洲丝袜诱惑| 浪人综合网| 蜜奶av| 精品在线78| 日韩人妻制服丝袜av| 五月丁香激情综合| 天天日天天舔东京热| 熟女少妇视频| 尤物一级在线免费观看| 久久久久13| 后入日本1234| www.av在线视频| 欧美大码在线视频| 裸体1区| 日韩成人高清一区二区| 青娱乐亚洲自拍| 天天日日日射| 超碰97亚洲| 亚洲国产日韩欧美熟妇在线| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 五月丁香啪啪网| 强奸熟女一区二区三区| 精品高清av中文字幕| 蜜臀av一区二区三区免费观看| 超碰 av 女人天堂| 亚洲情色中文字幕一区| 精品黑人一区二区| 国产精品网站www| 国产黄色剧情影片麻豆免费播放| 亚洲国产日韩欧美熟妇在线| 天天天天天超碰| 久久亚州精品成人Av无| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日本在线一二| 91在线一起| 日本欧美亚洲高清在线看| 日本九九久久99|