免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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è)員工在組織樹里的最近共同上級。他們最初的實(shí)現(xiàn)是暴力往上爬——把A的所有祖先塞進(jìn)一個(gè)集合然后B從自己開始往上走遇到的第一個(gè)在集合里的節(jié)點(diǎn)就是答案。單次查詢看著不慢幾十毫秒但架不住前端一個(gè)頁面要批量算幾百對頁面直接卡到轉(zhuǎn)圈。這個(gè)問題的本質(zhì)就是LCALowest Common Ancestor最近公共祖先。聽起來像是算法競賽里的東西但只要你處理過任何樹形結(jié)構(gòu)——組織架構(gòu)、文件目錄、DOM節(jié)點(diǎn)、分類體系、依賴關(guān)系圖——你遲早會撞上它。而且一旦數(shù)據(jù)量上去暴力解法就會原形畢露。這篇內(nèi)容我打算把LCA這件事從頭到尾講透。不是那種背個(gè)倍增模板就完事的講法而是把為什么會有多種解法、每種解法到底在權(quán)衡什么、什么場景該選哪個(gè)、寫的時(shí)候哪里最容易翻車這些真正影響你落地的東西說清楚。適合已經(jīng)會寫基礎(chǔ)樹遍歷、但一遇到樹上路徑查詢就發(fā)怵的開發(fā)者也適合想系統(tǒng)梳理一遍這塊知識的老手。看完你應(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)給定一棵有根樹對于節(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 為什么暴力爬樹會崩復(fù)雜度賬要算清楚最直覺的做法有兩種。第一種是剛才說的集合法把u到根的路徑全標(biāo)記然后v往上走找第一個(gè)標(biāo)記點(diǎn)。第二種是先把兩個(gè)節(jié)點(diǎn)提到同一深度然后一起往上走直到相遇。這兩種做法單次查詢的復(fù)雜度都是O(樹高)。問題就出在這個(gè)樹高上。如果樹比較平衡高度是log級別那還行但現(xiàn)實(shí)中的樹經(jīng)常退化成一條鏈——比如一個(gè)層層審批的組織、一個(gè)深度嵌套的目錄、一條長依賴鏈。這時(shí)候樹高就是節(jié)點(diǎn)數(shù)n單次查詢O(n)查詢m次就是O(nm)。三萬個(gè)節(jié)點(diǎn)、幾百次查詢直接就是千萬級操作卡頓是必然的。所以LCA的核心矛盾就一句話能不能把單次查詢從O(樹高)壓到O(log n)甚至O(1)代價(jià)是預(yù)處理。后面講的所有算法本質(zhì)上都是在這條權(quán)衡線上找不同的位置。2.3 哪些真實(shí)場景會用到LCA別以為這只是刷題用的。我梳理幾個(gè)實(shí)際會碰到的組織架構(gòu)/權(quán)限系統(tǒng)判斷兩個(gè)員工的共同上級用于審批流、權(quán)限繼承、匯報(bào)關(guān)系展示。文件系統(tǒng)求兩個(gè)路徑的最近公共目錄做相對路徑計(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米不會一米一米挪而是先走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)境可不會給你調(diào)遞歸深度的機(jī)會。3.3 查詢先對齊深度再一起往上跳查詢LCA(u, v)分兩個(gè)階段邏輯非常清晰階段一把深的那個(gè)提到和淺的一樣深。假設(shè)depth[u] depth[v]那就把u往上跳depth[u] - depth[v]步。這個(gè)差值用二進(jìn)制拆解對應(yīng)到跳表上就是如果差值的第j位是1就跳2^j步。階段二如果此時(shí)u v說明v本來就是u的祖先直接返回。否則兩個(gè)節(jié)點(diǎn)一起往上跳從大到小嘗試。關(guān)鍵技巧是只要跳完之后兩個(gè)節(jié)點(diǎn)還不相等就跳。這樣最后一定會停在LCA的正下方再往上一步就是答案。def lca(u, v, depth, up, LOG): if depth[u] depth[v]: u, v v, u # 階段一對齊深度 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。從大往小試能保證最后停在最近的位置。如果從小到大試會跳得不夠遠(yuǎn)邏輯就錯(cuò)了。這個(gè)細(xì)節(jié)很多人第一次寫會搞反。3.4 倍增法的復(fù)雜度與適用邊界預(yù)處理時(shí)間O(n log n)空間O(n log n)單次查詢O(log n)。這個(gè)復(fù)雜度對于絕大多數(shù)場景都夠用了。它的優(yōu)勢是通用性極強(qiáng)不要求樹是靜態(tài)的雖然動(dòng)態(tài)更新跳表比較麻煩能處理任意形態(tài)的樹還能順便支持求第k個(gè)祖先這類操作。缺點(diǎn)是空間是n log n如果n到了百萬級內(nèi)存會有點(diǎn)吃緊。提示如果n特別大比如10^6以上而查詢次數(shù)不多其實(shí)暴力法反而更劃算。別迷信高級算法選型要看具體數(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ú)查。對于查詢量巨大的場景比如m和n同量級甚至更大這個(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í)再處理這對查詢。如果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) # 集合代表元對應(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)楹喜⒑蟠碓赡茏兞瞬桓戮蜁玫藉e(cuò)誤的祖先。第二查詢要存雙向。因?yàn)樘幚?u,v)時(shí)可能v還沒訪問得等v被訪問時(shí)從v那邊再處理一次。所以queries[u]和queries[v]都要存這條查詢。第三遞歸深度問題。跟倍增法一樣深樹會爆棧。生產(chǎn)環(huán)境建議改迭代或者手動(dòng)加大??臻g。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)勢會非常明顯。但如果查詢是流式的、必須即時(shí)回答那只能選倍增。選型的第一原則永遠(yuǎn)是先搞清楚你的查詢模式。5. 歐拉序 RMQ把LCA變成區(qū)間最值問題5.1 一個(gè)漂亮的轉(zhuǎn)化LCA等價(jià)于區(qū)間最小值這是我覺得LCA里最優(yōu)雅的一個(gè)思路。它把樹上問題轉(zhuǎn)化成了數(shù)組上的區(qū)間查詢問題。做法是對樹做一次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 [] # 對應(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)對比方便你直接查表決策。方案預(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)。樹會動(dòng)態(tài)變化倍增法改起來相對可控雖然也麻煩歐拉序基本要重建。第四步看查詢次數(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)中那些文檔不會告訴你的坑7.1 根節(jié)點(diǎn)的父節(jié)點(diǎn)處理這是最經(jīng)典的坑。根節(jié)點(diǎn)沒有父節(jié)點(diǎn)那up[root][0]填什么填0假設(shè)節(jié)點(diǎn)編號從1開始還是填自己填0的話如果查詢時(shí)不小心跳到了0后續(xù)up[0][j]全是0可能掩蓋邏輯錯(cuò)誤。填自己的話跳過頭會原地打轉(zhuǎn)。我的建議是填0并且在查詢邏輯里保證永遠(yuǎn)不會真正用到0這個(gè)越界值——因?yàn)閷R深度和一起跳的過程理論上不會讓節(jié)點(diǎn)跳到根之上。但為了保險(xiǎn)可以在填表時(shí)把up[0][j]都設(shè)成0讓越界訪問有個(gè)確定的兜底。7.2 深度對齊時(shí)的循環(huán)方向階段一對齊深度時(shí)for j in range(LOG)從小到大還是從大到小其實(shí)都可以因?yàn)槲覀兪前炊M(jìn)制位判斷的每一位獨(dú)立。但階段二一起跳的時(shí)候必須從大到小。這兩個(gè)循環(huán)方向不一樣很多人寫著寫著就混了。記住口訣對齊深度看位一起跳看大小。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)編號從0還是從1開始這個(gè)看似小事實(shí)則影響巨大。從1開始的話0可以當(dāng)哨兵從0開始的話就沒有天然的哨兵值了。我個(gè)人的習(xí)慣是統(tǒng)一從1開始編號把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)再按逆序處理回溯邏輯。對于倍增法其實(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)對之類的問題都靠它。樹上路徑第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這幾種解法吃透后面會輕松很多。我個(gè)人在實(shí)際項(xiàng)目里的體會是真正高頻用到的其實(shí)就是倍增法這一種因?yàn)樗ㄓ?、在線、好維護(hù)。Tarjan和歐拉序更像是特定場景的優(yōu)化手段知道原理、需要時(shí)能撿起來就行不必強(qiáng)求每種都背得滾瓜爛熟。把一種方案寫到閉著眼睛都不出錯(cuò)比每種都半懂不懂要值錢得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
涩涩网五月天| 五月丁香操婷逼| 99色免费观看全部| 99热这里全都是精品| 色五月六月| 丁香六月婷婷缴情欧美| 九月婷婷激情| 狠狠色婷婷色| 激情五月婷婷视频| 丁香激情五月天| www.深爱激情| 五月天婷婷导航| 日本人人草草| 六月丁香婷婷大香蕉| 激情六月综合| 久久在这里99| 波多野结衣AV无码Porn| 五月婷婷亚洲| 狠狠干,狠狠操| 丁香色啪综合| 日韩一66精品| 色五月之第四色| 超碰电影在线播放| www.日本91| 香蕉97碰碰碰欧美| 欧美成人精品A片免费一区99| 久色婷婷200| 亚洲性爱99| 熟美女麻豆| 国产精品久久久久久久久久免费 | 99热手机在线精品| 婷婷色九月| www狠狠| 九九精品在线视频观看| 五月丁香啪啪网| 亲子乱av一区二区三区的| 亚洲操逼网| 综合啪啪| 色色五月婷| 五月天婷婷基地| 久久99热 这里有精品| 99久在线| 综合激情五月四射婷婷| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 久操大香蕉| 激情综合另类| 亚洲精品网址| 五月丁香六月综合基地| 婷婷在线免费| 色色色色色色色综合| 综合网啪啪| 亚洲秘 无码一区二区三区妃光/1| 在线播放成人| 中文字幕激情综合| 51XX午夜影福利| 激情综合网激情五月天| 亚洲视频a| 久九色| 五月丁香激情四射综合| 激情综合4月| 99热精品在线观看| 丁香六月婷婷综合网| 五月丁香六月日逼| 深爱五月日韩| 日韩在线9| 五月停停999| 色五月欧美| 日日操夜夜爽| 久久精彩视频| 久久99免费视频网站| 日韩久操婷婷| 婷婷性爱| www.激情五月天| 天天日,天天射,天天舔| 99re久久| 狠狠色婷| 婷婷丁香久久| 天天日天天干天天插天天射| AV操逼网| 久777| 婷婷亚州综合| 丁香婷婷人妻| 五月婷婷第四色| 婷婷五月天堂| 99性爱视频| 最近免费中文字幕大全高清大全1| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 亚洲中文丁香| 婷婷五月色天| 亚洲视频在线观看| 色婷婷综合久久久久| 99这里有精品视频3| 亚洲看av的网站| 91精品综合久久久久久五月丁香 | 色99在线| 日本97在线视频| 久久婷婷青草五月天| 精品99久久久久成人网站免费| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 丁香在线视频| 亚洲A片成人无码久久精品青桔| 国产99久9在线+|+传媒| 亚洲五月婷婷在线| 色婷婷97| 97干婷婷| 婷婷五月花丁香| 超碰免费人人| 操逼巨乳91| 欧美噜噜久久久XXX| 五月色导航| 婷婷色色婷婷| 丝雨一区二区| 五月噜噜| 国产精品VIDEOSSEX久久发布| 五月丁香趴趴| 色五月丁香伊人| 色情成人五月天| 九九九九中文字幕| 日日操天天爽| 婷婷五月欧美综合| 国产综合色婷婷精品久久| 99在线精品视频免费| 六月婷婷九月丁香亚洲综合| 欧美性生交XXXXX无码小说| 色吊操色妞| 99热自拍| 久热伊人| 婷婷五月丁香综合| 色婷婷五月天在线观看| 日韩精品呦呦va| 大香蕉Av在线| 五月精品| 蜜桃婷婷狠狠久久综合| 天天日天天做天天操| 色综合色五月| 97超碰人人操| 国产 亚洲 在线| 欧美日韩国产一二区| 五月丁香| 五月婷婷六月丁香综合在线| 99精品国产热久久91色欲| 五月婷六月丁| 日韩成人不卡| 日日干干天天干| www五月| 在线看黄色| 综合六月激情婷婷| 超碰九热| 激情五月少妇| a免费在线| 久久九九免费大视频| 久久婷婷色综合| 婷婷五月成人社区| 欧美丁香婷婷五月| 先锋资源91| 99日这里只有精品| 丝雨一区二区| 丁香婷婷深情五月亚洲| 色吧五月婷婷| 亚洲激情婷婷| 婷婷五月天日本国产| 日韩啪啪网| 毛v一区二区视频| 草婷婷在线| av中文在线| 丁香五月亚洲激情婷婷射| WWW.17C亚洲精品| 99精品综合在线| www.俺去也com| 久久97久久99久久综合欧美| 天天日天天做天天操| 六月丁香久久| 六月天六月婷| 超碰9在| 欧洲一区二区| 婷婷五月色播网| 狠狠干无码| 久久久com| 九九99精品| 91色五月| 国色天香成人网| 色综合久久伊伊婷婷五月| 免费看成人AA片无码视频吃奶| 色色影院aaaav| 26uuu日韩| 激情五月天婷婷久久久久久久久久久| 丁香五月婷婷免费视频| 99热首页| 亚洲激情无码久久| 91久草五月天婷婷| 亚洲综合九九| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 五月婷婷在线观看| 婷婷综合视频| 亚洲精品无人区| 日本无va视频| 停停六月 综合| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 99综合激情久久精品久久| 五月丁香亭亭激情操逼网| WWW,五月| 欧美激情丁香五月天久久婷婷一区| 极品少妇高潮啪啪AV无码| 热久久66| 91操熟女| 日韩AV在线免费| 伊人网碰碰| 亚洲夜五月| 热久综合| 99热超碰| 日本高清久| 1024婷婷综合久久五月天| 婷婷久久五月| 99ri精品| 久久婷婷五月综合| 日韩综合大黄| av大香蕉| 色综合久久88色综合天天99| 人人摸人人干| 99色色网| 另类图片色五月| 能看的AV网站| 久久久精品99亚洲综合| 十区AV| 亚洲亚洲人成综合网络| 亚洲人妻av| 亚洲另类噜噜| 婷婷区日本| 综合色影院| 亚洲九N| 99ri精品在线| 开心激情网五月天| 久久色五月天激情小说| 久久五月网| 99久在线视频| 亚韩在线视频| 精品亚洲国产成AV人片传媒 | 1024成人免费看| 网色99| 色色COm| 国产va在线视频| 九九中文字幕九| 极品人妻VIDEOSSS人妻| 婷婷性爱| 深爱激情五月天| 婷婷月综合| 亚洲激情97五月天| 婷婷五月天国产手机在线视频观看| 五月婷婷激情日本| 99五月婷| 丁香五月综合激情性爱| av在线免费网站| 婷婷五月丁香青青草在线| 婷婷五月在线观看| 激情五月天影院| 26.uuu丁香五月婷婷| 色久免费| 开心五月深爱五月丁香五月激情五月 | 婷婷五月色| www色综合亚洲92| 丁香8月手机综合| 深爱开心激情| 日日做A爰片久久毛片A片英语| 激情久久久久久| 亚洲秘 无码一区二区三区妃光/1| 婷婷五月六月丁香综合| 色情五月停停丁香| www.久久综合| 婷婷五月激情小说| 欧洲电影在线观看免费版英语版 | 99热这里有精品6| 综合激情啪啪| 嫩草综合网| 五月丁香日本片| 91久久久久久久久| 欧美又粗又大一区二区在线观看| 91dy.av| 激情五月天网页| www,婷婷五月天777me,com| site:picc-up.com| 婷婷六月激情综合| 日本久久性| 久操人妻| 成人免费黄色短视频| 六月成人网| 大香蕉丁香五月| 人妻在线观看视频| 婷婷色啪| 五月丁香青草综合啪啪| 五月婷婷导航| 中文激情网| 99色色网| www.9797国产| 亚洲综合激| 精品无码色欲AV| 精品色色网| 婷婷五月丁综合| 久久婷婷六月综合| 九九无码| 色婷婷成人久久| 丁香婷婷色| 久久婷婷五月天| 天天色天天爱天天舔| 激情综合五月.....| 丁香社区婷婷五月| 丁香五月色| 天天爽天天操| 亭亭色网| 99热这里只有精品22| 国产.亚洲.欧洲视频在线| 99热在线播放| 久久99久久99www| 五月天婷婷社区久久综合| 99在线er热| 五月婷婷激情中心| 婷婷综合| 婷婷激情五月视频| 另类小说五月天综合网| 婷婷五月六月丁香| 欧美日韩五月婷婷| 春色激情第四色| 丁香五月婷婷视频| 国产午夜成人免费看片无遮挡| 手机在线视频观看9| 操久久网| 色久综合| 91热久88| 婷婷五月天激情偷拍| 激情综合网五月婷婷| 思思热在线视频精品| 色婷婷91激情小说| 99热99免费| 久99久精品视频| 色五月丁香A欧美com| www.五月婷婷久久.com| 精品久久久人妻| www.狠狠操| 色欧美影院| 99久久丝| 狠狠狠狠狠| 色婷婷91| 狠狠色噜噜狠狠狠888| 欧美槡BBBB槡BBB少妇| 九九色色色| site:ornaments52.com| 婷婷丁香六月| 性韩日色婷婷五月天激情啪啪XXX| 婷婷涩涩五月天| 婷婷五月天AV| 色情五月天小说| 丁香五月天狠狠| 5月丁香综合图区| 婷婷久久午夜网| 丁香九月综合激情| 国产成人AV在线播放| 天天日天天日天天搞| 六月婷婷综合| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 五月婷婷啪啪啪| 激情六月综合| 色黄啪啪| 深爱激情五月天| 色九月丁香婷婷蜜桃在线观看| 一个色的综合| 成人无码精品1区2区3区免费看| 天天色天天搡| 99热这里是精品| av婷婷丁香 六月| 激情六月丁香| 99色婷婷视频| 狠狠综合网| 91婷婷丁香五月天免费视频网站| 婷婷色五月天在线观看| 久久香蕉网| 色五月激情综合网| 色情性爱视频网址| 风流少妇A片一区二区蜜桃| 欧美久久婷婷| 无码色| 激情五月天在线| 天天干天天干天天干| tingtingjiqingwuyue| 婷婷五月天精品| 婷婷五月天久久久| CHINESE熟女老女人HD视频| 狠狠干综合| av在线资源| 99热国内| 999九九九久久久99HD| www.99热这里只有精品| 久操激情| 丁香久久| 色久天| 91久久久久久久91| 日本99视频| 久久五月天精品视频| 欧美交换配乱吟粗大25P| 97色碰| 五月综合久久| site:feetmall.com| 日本久久久97| 五月丁香婷婷色色色| 成人在线视频网| 99热8| 五月婷婷免费| 日韩在线观看亚洲| 国产av天堂| 六月丁香婷婷色69| 成人视频一区| 97人人操人人操人人操人人| 99久久极情精品一区| 操人妻90p| 99日热在线视频| 成人短视频在线免费观看| 九九热九九| AA片在线观看视频在线播放| 日本五月天网站| 大香蕉久久伊人婷婷五月丁香| 99超级碰碰| 九九成人高清视频| 97干在线播放| 五月天丁香婷婷久久九| 99热日韩| 综合五月网| www.五月婷婷| 久久五月天丁香| 91美女被操| 亚洲综合丁香五月天| 亚洲永久免费| 999九九九久久久99HD| 五月丁香综合在线| EEUSS鲁片一区二区三区| 天天狠天天狠| 99精品人人| 激情六月婷婷| 97啪啪| 五月成人天| 婷婷丁香五月av| 1024你懂的欧美曰韩| 99热这里| 亚洲精品无码久久| 色五月涩涩婷婷| Jh7Uf088VHafNm| 婷婷综合五月天| 亚洲精级| 婷婷色导航| 另类图片五月天| 天天天天天操| 丁香五月激情天AV无码| 五月天色色色| 九色七七| 久久色五月天| 婷五月天丁香婷五月| 中文婷婷狠狠| 超碰人人摸AV| av在线婷婷| 成人精品视频99在线观看免费| 欧美在线操| 五月亭亭六月天| 丁香花五月天| 丁香五月AV在线| 991精品在线视频| 丁香五月天狠狠操| 在线成人视频免费| 色色色五月婷| 亚洲成人超碰| 99热天堂| 婷婷五月天激情综合| 精品网站:999WWW| 五月婷婷香| 久久人妻伦理| 人人摸人人| www色婷婷com| www.婷婷五月| 亚洲成人在线综合| 二色AV| 亚洲第一成人无码A片| 思思色综合网站| 九九九午夜影院成人| 成人超碰AV| 玖玖99福利| 婷婷美女精品视频| 天天射天天射一道本日本社区| 天天综合.com| 亚洲视频伍月婷婷| 久久婷婷五月天激情四射| 91丨九色丨熟女|老版| 99这里只有精品| 激情视频综合| 五月婷婷影| 久久这里只精品| 天天综合网站| 春色激情| 成人视频在线免费播放| 九九视频免费| 色婷婷丁香特级性爱视频| 武汉美女啪啪视频免费一级片| 久热精品视频| 色域五月婷婷丁香| 五月天色图| 九九九九精品精| 超级碰碰一区| 青青.com| 丁香五月停停av| 国产这里只有精品| 亚洲日日日| 久久久国产精品黄毛片| 人人干人人操外国| 九九热视频精品2| 五月天欧美激情| 99热这里只有精品66| 日韩精品999| 来吧亚洲综合网| 艳妇野外情欲放荡HD| 偷偷操九九| 天天操无码| 99热这里只有精品13| 色婷婷婷婷| 怡红院视频| 婷婷色五月91啪啪| 99热伊人| 深夜激情网| 成人网址在线观看| 97色射| 玖玖婷婷视频| 激情五月综合视频| 日本天堂免费99| 九九久久99| 色99欧洲色19| 婷婷丁香六月影视| 丁香激情五月天| 乱岳熟女50岁| 棕合影院色色| 99热这里只有是亚洲国产| 在线观看的av| 中文成人在线| 91操操操| 色五月av| 伊人网碰碰| 五月丁香婷中文字幕| 天天噜日日噜综合无码| 九九色黄色| 热99视频精品| 日韩AV大全| 996re热精品视频| 丁香五月六月久久综合 | 91色五月| 色色色色色综合| 国产日日夜夜操| 五月天丁香网站| 狠狠色综合无线观看| 一本道综合网| 天天日夜夜爽| 99久久精| 色色操| 日韩成人电影av| α久久| 狠狠干综合| 久久99精品日本| 色五月首页| www.婷婷| 天天肏天天插| 欧美性猛交 XXXX 乱大交| 丁香五月欧美色综合| 热久久99热欧美国产亚洲| 中文字幕有多少字| 插插网爽妇五月丁香| 九九精品热| 人人性久久| 欧美色性色好| 激情性爱网站| 99网99热| 97人人干。| www.99热这里只有精品| 操逼五月天| 丁香五月五婷| 五月色丁香婷婷综合| 五月天综合图片| 91妻人人爽人人看片| 久久天天天| 伊人久久艹| 操逼六区| 人人摸人人搞| 五月综合视频在线| 极品少妇高潮啪啪AV无码| 色五月成人婷婷| 久久婷婷五月综合色奶水99啪| 大香蕉欧美在线| 激情欧美丁香五月| 国产性爱一级| 伊人激情| 另类婷婷丁香| 天天操天天干天天射| 天天插轮理| 久久97久久99久久综合欧美| 天天插天天| 另类小说五月天| 日韩操逼大片| 91九色在线| 一二三区视频韩国| 39视频第二区| 国产操碰| 五月丁香六月婷婷不卡免费无码 | 1024操逼| 五月天婷婷六月| 婷婷情色五月| 成人电影AV在线观看| 色综合综合色| 亚洲A片成人无码久久精品青桔| 六月丁香五月激情婷婷| 99内射视频| 97色婷婷| dingxiangtingtingliuyue| 色九月综合| 丁香九月综合激情| 狠狠va| 99久久高清视频| 99热日韩| 五月丁香六月情亚洲| 五月天大香蕉AV| 国产激情视频在线观看| 五月丁香成人版| 久久精品噜噜噜成人A∨色欲| 人妻综合网| 亚洲性爱99| 色吧网综合| 丁香婷婷色| 五月婷婷六月丁香激情综合网| 久久丁香婷| 成片免费观看视频大全| 国色天香伊人狠狠色| 色情五月综合婷婷| 狠狠色中色| 天天干天天操天天拍| 精品皮股午夜AV| 激情四射网| 亚洲日韩久久婷婷伊人| 91ncom.色| 五月丁香激情婷婷| 国产在线6| 婷婷五月丁香香蕉| 五月婷婷丁香91| 成人av在线电影| 五月开心婷婷| 激情啪啪五月天| 九九九午夜视频| 国产精品a无线| 偷拍91九色| 五月天激情.com| 天天做天天爱高潮片| 1234操逼网| 俺来也狠狠| 九九亚洲| 五月激情综合网| 婷婷五月天开心激情网| 久久aaa| 婷婷丁香五月天哟啪| 婷婷五月天免费99| 亚洲中文字幕网| 超碰猛烈的性猛交| 九九色综合九九色| 婷婷五月天成人综合网| 激情开心五月婷婷| 狠狠色噜噜狠狠色噜噜噜999| 激情av在线| 五月天丁香啪啪啪啪| www久久久久久久久久久| 91精品婷婷国产综合久久| 婷婷五月色天| 久99久热只有精品国产99| 美日韩成人| 色99热| 91九色视频在线观看| 亚洲正能量欧美| 欧美精品中文字幕亚洲专区| 98国产精品综合一区二区三区| 欧美25p| 色婷婷888| 99精品在线观看视频| 66精品成人免费网站在线观看 | 91蝌蚪窝视频在线| 字幕网AV中文字幕| 狠狠干狠狠干| 五月色综合| 九九色综合| 91丨九色丨43老版熟女| 五月激情六月宗合| 婷婷亚洲综合| 色婷婷成人做爰A片免费看网站| 可以直接看的av| 99热精品中文字幕| 丁香六月激情综合| 国产精自产拍久久久久久蜜 | 狠狠操天天干| 97色射| 黄色av高清| 大香久久综合网| 五月天丁香啪啪啪啪| 综合99在线| 五月丁香久久呀| 色色五月婷婷久久| 婷婷导航| 开心五月深爱五月婷| 九九机热| 七七色色综合| 久久婷婷亚洲| 国产69久久久欧美黑人A片| 黄网在线免费观| 色亭亭九月| 亚洲乱码w在线观看| 激情网第九色| 婷婷丁香五月天亚洲| av性爱网站| 丁香色综合| 九九综合色| 91在线就要啪| 激情五月综合久久| 激情久久四色| 思思久久青草热| 五月天婷婷影院| 日本色婷婷| 香蕉曰比| 丁香六月婷婷综合| 在线A色| 美国十月色婷婷在线观看| 日韩在线视频网站| 午夜少妇在线观看视频| 久久色午夜在线导航| VA色婷婷| 婷婷五月深爱五月| 99色在线| 久久久人人操A V| 丁香五月婷婷狠狠色| 天天插天天干天天舔| 天天操综合网| 国产欧美精品AAAAAA片| 狠狠情色| 午夜性爱影视一区77| 人妻久久久久久| 国产精品美女久久久久AV超清| 奇米色大香蕉| 99色看这里只有精品| 可以看的AV| 99精品网| 婷婷九月亚洲| 色五月亚洲开心网| 伊人激情AV一区二区三区| 午夜福利8055| 婷婷五月天,影院| 天天综合五月| 丁香九月色| 狠狠狠狠免费| 99久在线| 精品九九网| 丁香五月天婷婷中文| 色婷婷综合久久久久| 精品无码片| 婷婷五月开心中文字幕色| 色婷婷88| 国产婷婷五月| 婷婷丁香激情五月天色色| 九色视频91| 久久区区一二三av| 操丝袜视频影院导航| 亚洲热视频| 99热在线看片| 久久九九色| 伊人爱爱日本| 色丁香在线视频| 五月激情婷婷在线| 婷婷99视频精品| 能看的AV| 99在线热视频| 婷婷激情图片| 久久五月天丁香| 丁香五月天五码婷婷| 婷婷色婷婷| 五月丁香| 99ri视频| 操B五月天| 丁香婷婷性爱| 欧美日韩成人免费在线| A在线观看| 欧美日韩成人在线网| 91精品综合久久久久久五月丁香 | 这里只有精品1| 热日韩欧美| 丁香涩涩五月天| 免费观看欧美成人AA片爱我多深| 深爱激情九九五月天 | 精品一二三区久久AAA片| 激情综合4月| 亚洲免费观看高清完整版AV线| 人人操操| www.婷婷六月天| www.五月天婷婷| 欧美色色色色色色色色色色| 五月色婷婷中文字幕| 91在线日| 婷婷精品| 五月天激情小说网| www.久久66| 五月色婷丁香| 99视频只有精品| 久99在线视频| 婷婷五月综合网| 97操操操| 天天操综合网| 色婷婷影音| 色色综合热| 婷婷久久精品| 亚洲精品va| 激情又色又爽又黄的A片| 丁香伊人综合| 99情色五月天| 国产亚洲精品久久一区二区三区| 99久热| 亚洲成av人影院| 大伊久久| 日本99色| 狠狠干,狠狠操| 99久久久国产精品免费蜜乳tv| 色婷婷亚洲综合av| AAA久久| 久久综合干| 97在线观视频免费观看 | 天天肏天天肏天天肏| 综合久久婷婷| 初夜av| 九九亚洲无码| 婷婷五月天影院| 色婷五月| 婷婷五月丁香综合激情| 成人AV免费观看| 人妻久久久久久久久妻久久久久| 碰超在线九色| 人人操AV| 天天日日综合| 日韩色色小视频| 丁香婷婷五月综合欧美另类| 青青草原亚洲天堂| 热热久久久久久久久| 五月久久婷婷天堂视频| 亚洲色久| 久久五月天婷婷| 六月婷婷网| 婷婷5月久久综合网站| 丁香六月婷| 婷婷国产日本欧美| 人人干女人| 亚洲欧洲中文日韩久久AV乱码| 91色在线 | 日韩| 激情婷婷五六月天| 婷婷五月丁香超碰| 中文字幕丰满孑伦无码专区| 五月婷婷丁香大陆免费| 天天插天天干天天舔| 婷久久| 国产一级黄色影片,| 草五月| 深爱五月亚洲| 超碰久热| 大香蕉Av在线| 色五月婷婷777| 天天日夜夜拍| 激情五月久久| 婷婷激情五月综合丁香社| 丁香五月天黄色片| 天久久久久| 人人人操 超碰| 九九色色| 国产美女视频久| 五月天婷婷人妻| 99热九九这里只有精品10| 日韩久热| 久久九九精彩| 97日本在线播放| 97人人操人人干| 亚洲无码播放| 天天狠狠六月婷丁香影院| 天堂AV三级| 91九色无码日韩 | 99热这里只有精品国产免费| 激情性爱五月天| 九热视频精品| 久久久九九视频精品18| 婷婷丁香日韩五月| 丁香五月成人网| 99操碰| WWW99热| 丁香五月在线播放| 五月丁香婷婷伊人| 国产寻花在线| 久久一热免费视频| 天天爽夜夜爽夜夜爽精品| 停停综合色色| 婷婷的色色五月天| 久久色午夜在线导航| 人操综合| 国产黄色在线| 丁香五月激动深爱欧美| 粉嫩AV久久一区二区三区| 99在线免费观看| 日韩成人电影AV| 99色视频| 国内外色色色色色成人视频| 天天干天天干天天| 做爰丰满少妇1313| 国产乱妇无乱码大黄AA片| 成功精品影院| 嫩草AV久久伊人妇女超级A| 国产XXXX搡XXXXX搡麻豆 | 99ri精品在线| 97热精品| ww亚洲ww在线观看| 99久久99热| site:esunnet.com| 九九在线免费观看| 黄色AAAAA| 九九视频在线| 97在线刺激| 超碰9| 综合色色网| 日本不卡一区二区三区| AV大片在线播放| 夜夜穞天天穞狠狠穞AV美女按摩| 婷婷伊人久久无码色五月| 色99久草在线| 人人叉久| 色五月综合激情| 青草视频在线蜜臀| 99日韩网站| 开心婷婷五月| 99视频在线精品| 九九热10| 免费看欧美成人A片无码| 婷婷色色亚洲| 色婷婷色综合激情91| 美女网黄| 插插干干干色| 丁香六月激情国产| 超碰99热| 嫩草AV久久伊人妇女超级A| 亚洲在线网站| 色婷婷久久综| 激情五月丁香在线观看直播| 天天日本夜夜谢| 丁香六月色婷婷| 女婷久久| 日韩精品呦呦va| 九月婷婷色色| 天天摸,天天爽| 夜夜谢天天干| 欧美日综合| 久久五月热| 99操碰| 色小说五月婷婷| 丁香五月影院| 五月婷在线| 丁香五月开心七月| 婷婷亚洲色| 狠狠干 狠狠操| 99热老司机| 婷婷五月丁香性爱| 日韩操人| 97色色色色色| 玖玖色综合| 小泽玛利亚视频一区二区| 怕怕av| 性色天| 天天干天天操天天爽| 六月婷婷日| 凹凸7777操操操| 五月丁香婷婷爱| 新激情五月天| 啪啪色激情五月天| 99热97| 色色色综合网| 五月天婷婷綜合院| 日日夜夜小色哥| 丁香五月天啪啪| 婷婷五月色影视先锋| 五月婷婷六月奇米网丁香| 久久五月网| 蜜乳AV成人| 插插网爽妇五月丁香| 青青草tp| 丁香五月激情五月色综合| 久久婷婷六月综合资源| 日本超碰在线| 97婷婷丁香五月天激情图片| 在线色五月婷婷| 五月婷婷激情综合| 97碰超级人人看| 免费不卡狠操美女视频网| 激情五月婷婷老师| 色色影院aaaav| 五月丁香狠狠爱| 久久婷婷亚洲无码一起| 这里只有精品网| 99色爱| 欧美大奶熟女噜噜噜噜| 性爱视频99| 婷婷久久性爱| 亚洲视频色婷婷| 亚洲丁香婷婷| 五月丁香婷中文| 欧美内射AAAAAAXXXXX| 色噜噜婷婷| 色婷五月| 9191avse| 麻豆雪千夏| 婷婷色在线视频| 婷婷五月天AV| 六月丁香成人| 五月丁香久久| 久久大香蕉伊人| 五月天激情www| 高清无码网址| 六月丁婷婷| 激情五月综合婷婷| 99在线观看| 99免费视频| 99惹在线精品免费观看| 91欧美| 99ri国产精品| 五月天成人小说| 成片免费观看大全| 婷婷五月天亚洲| 激情婷婷久久| 五月天天综合| 日本女人久久| 超碰成人电影| 97人人操人人干| 久久激情视频99| 99在线免费视频| 久久黄色网扯| 公的粗大挺进了我的密道| 天天操天天操天天操| 免看黄大片AA | 黄页大全十八禁| 秋霞少妇AV网站| 99re热视频| 色五月噜噜| 婷婷激情综合| 久久九九网| 国产精品久久久久久久久久| 激情五月婷婷在线区| 2025超碰| 婷婷成人视频| 大香蕉五月婷婷| 五月天开心网| 五月丁香六月婷婷久久久综合| 影院久久久| 黄色五月婷婷| 久久这里只有国产| 丁香六月在线综合| 婷婷五月综合啪| 五月丁香啪啪啪| 国产精品成人AV在线观看春天| 五月天婷婷影院影院观看| 在线中文亚洲| 99热一区| 久久机热这里只有精品| 伊人综合色干| 九九热精品视频在线观看| 丁香六月婷婷开心| W色综合| 国内外色色色色色成人视频| 久人操| 8090在线影视少妇| 九九热在线99| 婷婷九月狠狠色| 99热综合| 色久丁香五| 91婷婷色| 99热在线中出| 99精品一二三四视频| 大香蕉伊人99| 五月婷婷碰碰| 婷婷五月天久久| 99热自拍| a片在线免费观看一区| 天天狠狠夜夜狠狠2023| 26UUU欧美激情一区二区| 中文字幕,综合,91| 乱岳熟女50岁| 色综合综合色| 青草激情在线| 在线不卡视频| 五月丁香偷拍| 全部老头和老太XXXXX| 五月天婷婷在线视频| 五月婷婷网久久| 亚卅毛片| 九月婷婷人人操人人舔人人爱| 狠狠草在线观看| 五月开心激情| 99热在线免费观看精品| 色婷婷AAA| 色综合久久无码| 欧美精品999| 97在线精品视频| 99热这里只有精品最新地址获取| 超碰在线观看caop| 色婷婷六月| 色99视频| 五月天色社区| 五月丁香影视| 天天射天天射一道本日本社区| 色久播播| 色婷婷成人网| 黄色AAAAAAA| www.91av.com| 狠狠操狠狠操AV| 96丁香六月婷婷蜜桃综合久久| 思思热久久爱| 五月熟妇婷婷久久| 五月丁香六月色| 久久丁香综合| 五月天色导航| 啪啪干伊人婷婷| 99色在线观看免费| 成人婷99最新| 久久网日本| 久9久成人精品视频| 91精品久久久久久综合五月天| 91久久久久久久久18| 五月婷婷啪啪| 亚洲性爱日韩无码| 99区视频| 日日日,com| 婷婷日在线观看| www.日本久久videos| 久久久久网站| 久久3p| www.婷婷,com| 99精品女人天堂| 玖色色综合| 丁香五月 无码| 岛国操B不卡在线| www.九月婷婷丁香.com| 99在线看视频| 天色色综合网| 丁香五月久久社区| 婷婷五月激情五月丁香五月| 99视频日韩| 91精品久| 9久久AV| 婷婷五月色影视先锋| 亚洲愉拍99热成人精品| 婷婷欧美综合| 人人操插| 成人超碰AV| 色五月婷婷在线视频| 综合色天天| 99热在线这里只有精品| 五月天伊人日日噜影片AV| 色五月婷婷五月丁香五月| 五月天精品综合在线| 色婷婷丁香五月综合| 欧美五月丁香| 久青操| 五月天激情小说网| 情欲禁地| 五月天婷婷Av| 久久婷婷久久| 色色五月婷| 激情网第四色| 五月天综合影院| 五月婷六月丁香| 四月婷婷五月丁香| 97丁香婷婷| 丁香五月成人| 99热有精品在线观看| 97色婷婷| 伊人五月天久久| 欧美色色色色色色色| 天天舔天天摸天天射| 丁香五月天啪啪激情综合网| 成功精品影院| 天天狠天天叉| 午夜不卡久久精品无码免费| 亚洲成人九九九| 婷婷伊人久久| 久久在线人妻| 这里只有精品视频| 粉嫩av蜜桃av蜜臀av| 无码少妇高潮喷水A片免费| 丁香婷婷六月| 综合色久| 激情激情激情网| 日本啪啪网| 色爽干| 日日操夜夜操无码免费| 色情·com| 天天综合社区| 色综合色色| 丁香社92视频| 色欲婷婷夜夜| 日本99久久| 日本久久99| 丁香五月婷婷影视先锋| www,com,五月色色| 色综合色欲综合天天免费| 五月丁香六月情| 激情綜合W W W,激情五月天| 五月天久久色| 亚洲婷婷丁香| 天天舔天天摸视频| 九色PORNY9l原创自拍| 97碰啪啪| 色婷婷影视99| 丁香九月综合| 久久婷婷五月天| 精品一二三区久久AAA片| 欧美久久网| 婷婷综合伊人丁香| 色欲午夜无码久久久久久张津瑜| 五月色影院| 日韩激情网站| 美女激情婷婷| 网色99| 激情五月天第四色| 日本色婷婷久久99精品91| 91热在线| 91人人爽人人操| 五月色婷婷影视在线电影| 日本99在线| 雪千夏麻豆| www.狠狠干| 97超碰综合| 日本欧美999久久久三级片| 这里只有在线精品| 久久婷婷五月天蜜桃| 五月丁香久久久| av无码电影| 色婷婷狠狠久久综合五月| 五月丁香六月激情欧美综合| 草草影院爱爱| 天天日,天天射,天天舔| 99热最新精品| www.五月丁香| 五月丁香啪啪伦理电影| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色99网| 亚洲国产精品VA在线看黑人| 丁香五月久久| 成人精品在线| 九九色之九九色之88| 九玖欧洲亚洲| 五月丁香六月婷| 狠狠操狠狠爱| 色色五月丁香| 色五月激情综合| 丁香五月23111| 极品人妻VIDEOSSS人妻| 日本精品。999| 六月丁香网| 激情综合5月| 五月丁香六月激情欧美综合| 五月婷婷久久久| 色狠狠综合网| 99久久99九九99九九九| 五月丁香啪啪婷婷| 任你干嘛免费视频播放|