久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

suffix tree

發(fā)布時(shí)間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 suffix tree 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章出處:http://www.cnblogs.com/snowberg/archive/2011/10/21/2468588.html

3???What is a Suffix Tree

Suffix tree, 或?后綴樹(shù)?,是一種相當(dāng)神奇的數(shù)據(jù)結(jié)構(gòu),它包含了字符串中的大量信息,能夠用于解決很多復(fù)雜的字符串問(wèn)題 —— 事實(shí)上,基本上目前為止俺遇到過(guò)的所有與字符串有關(guān)的問(wèn)題都可以通過(guò)它解決。

我們以字符串?MISSISSIPPI?為例,先列出它所有的后綴:

1. MISSISSIPPI 2. ISSISSIPPI 3. SSISSIPPI 4. SISSIPPI 5. ISSIPPI 6. SSIPPI 7. SIPPI 8. IPPI 9. PPI A. PI B. I

將它們分別插入到?字典樹(shù)?中我們可以得到:

BTW, 樹(shù)中的?$?符號(hào)表示字符串結(jié)尾 —— 這里?I?是字符串?MISSISSIPPI?的結(jié)尾,而?I?又在其中間出現(xiàn)了,所以有必要使用一個(gè)特殊的符號(hào)標(biāo)識(shí)出來(lái),同理在后綴樹(shù)中也需要有這樣的一個(gè)符號(hào);雖然 C 語(yǔ)言中有'\0'?,但這里使用?$?符號(hào)似乎屬于約定俗成的事情了,咱這次也就從了它吧。

這樣的一棵字典樹(shù)已經(jīng)具備了后綴樹(shù)的功能 ——

比如說(shuō)吧,你從根節(jié)點(diǎn)開(kāi)始順著這個(gè)字典樹(shù)的隨便一個(gè)樹(shù)枝走 n 步,然后數(shù)一下再往下有幾片葉子,就知道已經(jīng)走過(guò)的這 n 個(gè)字符組成的字符串在原字符串中一共出現(xiàn)過(guò)多少次了 —— 由于你可以把某一節(jié)點(diǎn)下方的葉節(jié)點(diǎn)數(shù)目保存在該節(jié)點(diǎn)中,所以這個(gè)算法實(shí)際上是 O(n) 的,怎么樣?

只是,你也看出來(lái)了,它的空間復(fù)雜度相當(dāng)之高,實(shí)際上基本上沒(méi)有誰(shuí)會(huì)用這樣一個(gè)數(shù)據(jù)結(jié)構(gòu)。

于是,?把所有最近兩個(gè)有多個(gè)分支的節(jié)點(diǎn)之間的部分(它們每個(gè)節(jié)點(diǎn)各自僅有一個(gè)分支)合并起來(lái)?(參考:Patricia Trie?或曰?Radix Tree),我們可以得到:

這就是一棵后綴樹(shù)了。

順便提一句,雖然邏輯結(jié)構(gòu)如上,但實(shí)際的數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的東西大致是這樣的:

這樣,每一條邊占用的空間為常數(shù)大小,于是后綴樹(shù) Tree(T) 的空間復(fù)雜度為 O(|T|),|T| 為字符串 T 的長(zhǎng)度。?因?yàn)?/strong>?:

  • 從樹(shù)根到樹(shù)葉的每一條路徑組成了一個(gè)后綴
  • 所以樹(shù)葉的數(shù)量等于后綴的數(shù)量
  • 每個(gè)非葉子節(jié)點(diǎn)都有至少兩條樹(shù)枝
  • 所以非葉節(jié)點(diǎn)的數(shù)量小于葉節(jié)點(diǎn)的數(shù)量
  • 除去根節(jié)點(diǎn),節(jié)點(diǎn)數(shù)等于邊數(shù)
  • 所以,后綴樹(shù)的空間復(fù)雜度為: O(|T| + size(edge labels))?[1]

后綴樹(shù)和?后綴 Trie?一樣包含了整個(gè)字符串中所有子串的信息,又僅占用 O(|T|) 空間,而且 —— 后面會(huì)說(shuō)到,它可以在 O(|T|) 時(shí)間內(nèi)構(gòu)造出來(lái),這些特性使它成為了一個(gè)理論分析以及實(shí)際應(yīng)用上都非常重要的數(shù)據(jù)結(jié)構(gòu)。

4???What Can It Do

后綴樹(shù)的用途是如此之廣以至于 Dan Gusfield 在他的書(shū)中?[2]?花了七十多頁(yè)來(lái)介紹,我在這里先挑幾個(gè)自己看來(lái)比較好玩的例子說(shuō)說(shuō),以期待激發(fā)讀者的興趣。

4.1???Longest Common Substring

Longest common substring?- 即?最長(zhǎng)公共子串?,是指在兩個(gè)字符串中都出現(xiàn)了的最長(zhǎng)子串 —— 比如,superiorcalifornialives?和?sealiver?的最長(zhǎng)公共子串為?alive?。

這是個(gè)很經(jīng)典的例子,據(jù)說(shuō) 1970 年,后綴樹(shù)的概念還沒(méi)有被提出來(lái)的時(shí)候,Knuth 爺爺曾無(wú)比確信找出兩個(gè)字符串最長(zhǎng)公共子串的線性算法是不存在的?[2]?;然而,在知道后綴樹(shù)的概念之后,這個(gè)算法也顯而易見(jiàn)了:

?

  • 將兩個(gè)字符串 T1, T2 加入到同一個(gè)后綴樹(shù),并在節(jié)點(diǎn)上標(biāo)記該節(jié)點(diǎn)屬于哪個(gè)字符串。
  • 遍歷后綴樹(shù)(該后綴樹(shù)中節(jié)點(diǎn)數(shù)目不大于 2(|T1|+|T2|),請(qǐng)參照后綴樹(shù)空間復(fù)雜度的證明 ),找出最深的、同時(shí)屬于兩個(gè)字符串的節(jié)點(diǎn)。
  • 從根節(jié)點(diǎn)到這個(gè)結(jié)點(diǎn)的路徑就是它們的最長(zhǎng)公共子串了。
  • 4.2???Exact String Matching

  • 當(dāng)字符串 T 已知且固定不變,P 改變時(shí):

    我們可以用 O(|T|) 時(shí)間預(yù)處理 T,然后在 O(|P|) 時(shí)間內(nèi)回答出 “P 在 T 中出現(xiàn)了幾次?” 或是 “P 在 T 的哪些地方出現(xiàn)過(guò)?” 之類的問(wèn)題:

    預(yù)處理 T, 得到它的后綴樹(shù) —— 也可以把多個(gè)字符串 T1, T2 ... 放入同一個(gè)后綴樹(shù),然后查找 P 時(shí)只需要從這個(gè)后綴樹(shù)的根開(kāi)始順著 P 往下走,然后讀出保存在節(jié)點(diǎn)中的信息 (下方的樹(shù)葉數(shù)量、出現(xiàn)地方 &etc.) 就行了。

    而這也就意味著你可以把很大的文檔進(jìn)行?索引?,然后快速的進(jìn)行搜索。

  • 當(dāng)字符串 P 已知且固定不變時(shí):

    我們也可以用 O(|P|) 時(shí)間預(yù)處理模式串 P,然后用 O(|T|) 時(shí)間在 T 中找出 P —— 時(shí)間、空間復(fù)雜度的上界就和 KMP 算法或是 Boyer-Moore 算法一樣。

    這個(gè)可能看不明顯,但是,這么說(shuō)吧,KMP 算法中 Next 數(shù)組保存的所有信息、Boyer-Moore 算法中 Bad-Charactor 和 Good-Suffix 表的信息后綴樹(shù)中都有。 由于實(shí)際操作上比較復(fù)雜,這里就不展開(kāi)了,讀者請(qǐng)自行參考?[2]?或者耐心等待?If?(嗯,也就是本人) 心血來(lái)潮的那一天。

  • 當(dāng) P 和 T 都已知的時(shí)候:

    很明顯,我們可以在 O(|T| + |P|) 時(shí)間內(nèi)找出 P 在 T 中的出現(xiàn),不說(shuō)了。

  • 4.3???Ziv-Lempel Compression

    嗯,常說(shuō)的 LZ77 指的就是 Lempel Ziv 1977。

    Ziv-Lempel 壓縮的主要思想是,將前方出現(xiàn)過(guò)的子串使用?(位置, 長(zhǎng)度) 對(duì)?表示出來(lái),例如aaaaaaaaaaaaaaaa?就可以表示為?a(1,1)(1,2)(1,4)(1,8)?:

    a(1,1) == aa aa(1,2) == aaaa aaaa(1,4) == aaaaaaaa aaaaaaaa(1,8) == aaaaaaaaaaaaaaaa

    真正的 LZ 編碼方式和這里說(shuō)的有點(diǎn)區(qū)別,但思想是一樣的。

    有了后綴樹(shù),LZ 壓縮也簡(jiǎn)單了:

  • 對(duì)要壓縮的字符串?T?構(gòu)造出后綴樹(shù)?Tree(T)?。
  • 遍歷這棵樹(shù),在每個(gè)節(jié)點(diǎn)?v?上標(biāo)出該節(jié)點(diǎn)下方的所有樹(shù)葉中(位置)最小的值?C(v)?。
  • 當(dāng)需要知道位置?i?上的?(位置, 長(zhǎng)度)?編碼時(shí):
  • 順著字符串?T[ i..m ]?的前綴走到?p?點(diǎn)。
  • 設(shè)?v?是?p?下方的第一個(gè)節(jié)點(diǎn)(或者?p?本身,如果?p?是節(jié)點(diǎn)的話)。
  • 設(shè)?d?是?p?的深度。
  • 找出滿足?d?+?C(v)?<=?i?,?d?盡可能大的?p?點(diǎn),則此時(shí)從根節(jié)點(diǎn)到?p?的路徑就是最長(zhǎng)的、同時(shí)出現(xiàn)在了?T[ 1..i ]?中的?T[ i..m ]?的前綴。
  • 即,?T[ C(v)..C(v)+d ]?==?T[ i..i+d ]?。
  • 于是,?T[ i..i+d ]?就可以表示成?(C(v), d)?序列了。
  • 以上查找 (位置, 長(zhǎng)度) 序列的算法時(shí)間復(fù)雜度是 O(長(zhǎng)度),于是壓縮算法整體復(fù)雜度就是 O(|T|) 。

    —— BTW,后面會(huì)說(shuō)到,根據(jù) Ukkonen 的算法?[3]?,后綴樹(shù)本身可以 "On-line" 構(gòu)造,即,每次加入一個(gè)字符,得到當(dāng)前的后綴樹(shù);這樣, Ziv-Lempel 壓縮也可以僅用一次自左向右的掃描完成。

    5???Few New Concepts

    在繼續(xù)講如何構(gòu)造后綴樹(shù)之前,為了后面表述的方便,再提幾個(gè)簡(jiǎn)單的概念:

    Explicit Node (顯式節(jié)點(diǎn))?:
    出現(xiàn)在后綴樹(shù)里了的所有節(jié)點(diǎn)都可以稱為?顯示節(jié)點(diǎn)?。
    Internal Node (內(nèi)部節(jié)點(diǎn))?:
    為了和葉節(jié)點(diǎn)區(qū)分開(kāi)來(lái),我們給不是葉節(jié)點(diǎn)的顯式節(jié)點(diǎn)起個(gè)新名字,叫做?內(nèi)部節(jié)點(diǎn)?。
    Implicit Node (隱式節(jié)點(diǎn))?:
    出現(xiàn)在了?后綴 Trie?中卻沒(méi)有出現(xiàn)在后綴樹(shù)中的那些節(jié)點(diǎn)是?隱式節(jié)點(diǎn)?。
    顯式擴(kuò)展?:
    對(duì)后綴樹(shù)做了點(diǎn)什么
    隱式擴(kuò)展?:
    對(duì)后綴樹(shù)實(shí)際上啥都沒(méi)做

    6???How To Build It

    目前我只弄懂了 Ukkonen 的算法?[3]?,所以下面也只說(shuō)這一種算法:

    6.1???Native Approach

    首先,我們觀察發(fā)現(xiàn),若?S?是一個(gè)非空字符串,?c?是一個(gè)字符,則將?c?加到?S?的每個(gè)后綴(包括空后綴)后面,我們可以得到?Sc?的所有后綴。

    Suffixes(a):aSuffixes(ab):abbSuffixes(abc):abcbccSuffixes(abca):abcabcacaa...

    很顯然,可以將這樣的原理用于構(gòu)建后綴樹(shù):假設(shè) T[0..i-1] 的后綴樹(shù)已經(jīng)建好了,那么在 T[0..i-1] 的每個(gè)后綴 T[0..i-1], T[1..i-1] .. T[j..i-1] .. T[i-1..i-1] 的后面加上字符 T[i] 就可以得到 T[0..i] 的后綴樹(shù)了。

    具體到 “將 T[i] 加到后綴 T[j..i-1]” 的這個(gè)過(guò)程,則有可能遇到三種情況:

  • 在后綴樹(shù)中,T[j..i-1] 停在了樹(shù)葉上。
    這種情況下,只需要把 T[i] 加到該樹(shù)葉的邊上即可。
  • 在后綴樹(shù)中,T[j..i-1] 的后面緊跟著的字符的集合 {a,b,c ... } 中不包含 T[i]。
    這種情況下,在 T[j..i-1] 的后面加上樹(shù)葉 T[i]
    (可能需要把隱式節(jié)點(diǎn)變換成顯式節(jié)點(diǎn))。
  • 后綴樹(shù)中已經(jīng)有 T[j..i] 了。
    這種情況下,我們什么都不用做。
  • 于是,如果不加任何形式的優(yōu)化,那么 Ukkonen 的算法就是這么回事:

    令 n = |T|; 在 T 尾部加上終結(jié)符 $。 for i from 0 to n: // n+1 個(gè)階段(包括加上終結(jié)符)for j from 0 to i-1: // 每個(gè)階段 i 次擴(kuò)展從后綴樹(shù)的根順著 T[ j..i-1 ] 走到節(jié)點(diǎn) v (顯式/隱式)如果 v 下方節(jié)點(diǎn)中存在第一個(gè)字符為 T[i] 的,則什么都不用做。否則如果 v 是隱式節(jié)點(diǎn),那么:將 v 改成顯式節(jié)點(diǎn)。在 v 下增加葉節(jié)點(diǎn),從 v 到新節(jié)點(diǎn)的邊標(biāo)記為 T[i]。若 v 是內(nèi)部節(jié)點(diǎn)或根節(jié)點(diǎn):在 v 下增加葉節(jié)點(diǎn),從 v 到新節(jié)點(diǎn)的邊標(biāo)記為 T[i]。否則: (只能是葉節(jié)點(diǎn)了):將 T[i] 加到邊的尾部。

    具體的,這里給出構(gòu)建?MISSISSIPPI$?的后綴樹(shù)的全過(guò)程,如下:

    6.2???Speed Up!

    上面的原生態(tài)算法雖通俗易懂老少皆宜,但其時(shí)間復(fù)雜度相當(dāng)之高 ( O(|T|3) ), 想要有實(shí)用價(jià)值必須得提高它的效率 —— 而正如前面提到過(guò)的,其實(shí)后綴樹(shù)可以在 O(|T|) 時(shí)間內(nèi)構(gòu)造;這個(gè) O(|T|) 的奇妙算法和上面的算法主體流程其實(shí)一樣,下面就要介紹加速妙方了,請(qǐng)坐穩(wěn)。

    6.2.1???Stop When?T[j..i]?Exists

    首先說(shuō)最容易理解的:

    很顯然,如果后綴樹(shù) STree(T[0..i-1]) 中已經(jīng)存在 T[j..i] 了,那么 T[j+1 .. i] 肯定也在其中,?因?yàn)?/strong>?:

  • T[0..i-1] 的所有后綴都在后綴樹(shù)中。
  • T[0..i-1] 的任意子串都可以表示為它的某一個(gè)后綴的前綴。
  • 所以 T[0..i-1] 的所有子串都在后綴樹(shù)中。
  • T[j+1 .. i] 是 T[j..i] 的子串, T[j..i] 又是 T[0..i-1] 的子串,所以 T[j+1 .. i] 也是 T[0..i-1] 的子串。
  • 所以后綴樹(shù)中存在 T[j+1 .. i] 。
  • 于是乎,碰到 T[j..i] 存在的情況,就不必繼續(xù)傻乎乎的在樹(shù)中查找 T[j+1 .. i-1], T[j+2 .. i-1] ... 了。

    6.2.2???Opened Leaves

    若知道了字符串的長(zhǎng)度?l?,又知道了樹(shù)葉的起點(diǎn)?d?,就可以知道這個(gè)樹(shù)葉的邊的長(zhǎng)度為?l?-?d?—— 所以首先,不記錄樹(shù)葉的邊長(zhǎng)并不影響功能。

    而如果直接把所有的樹(shù)葉都標(biāo)記為開(kāi)放的,做法例如令其長(zhǎng)度為無(wú)窮大 —— 這樣有一個(gè)好處:在對(duì)樹(shù)葉的擴(kuò)展中就什么都不用做了。

    什么時(shí)候可以利用這個(gè)小技巧呢?我們看看將 T[i] 加入到 STree(T[0 .. i-1]) 的過(guò)程:

    • 首先, T[0 .. i-1] 肯定停在樹(shù)葉上。

    • 假設(shè) STree(T[0 .. i-1]) 有 n 片樹(shù)葉,那么 T[1 .. i-1] T[2 .. i-1], T[n-1 .. i-1] 也都會(huì)停在樹(shù)葉上,因?yàn)?#xff1a;

      對(duì)于任何 j < i-1 如果 T[j .. i-1] 不在樹(shù)葉上,那么 T[j+1 .. i-1] 更不可能在樹(shù)葉上;

      這又是因?yàn)?#xff0c; T[j+1 .. i-1] 是 T[j .. i-1] 的后綴,若 T[0 .. i-1] 有子串 S = T[j .. i-1]+'c' (因此 T[j .. i-1] 不在樹(shù)葉上),那么 T[0 .. i-1] 肯定也有子串 S[1:] = T[j+1 .. i-1]+'c' (因此 T[j+1 .. i-1] 也不在樹(shù)葉上)。

      于是如果 STree(T[0 .. i-1]) 有 n 片樹(shù)葉,那一定就對(duì)應(yīng)著前 n 個(gè)后綴。

    所以,已經(jīng)有了 STree(T[0 .. i-1]) 的話,不必沿著 T[0 .. i-1], T[1 .. i-1] .. T[i-1 .. i-1] 所有這些路徑將 T[i] 加入到后綴樹(shù);而只需要從 n 開(kāi)始沿著路徑 T[n .. i-1], T[n+1 .. i-1] .. T[i-1 .. i-1] 加入 T[i] 。

    6.2.3???Count & Skip

    再看從后綴樹(shù)的根開(kāi)始查找路徑 T[j .. i-1] 的過(guò)程,不難發(fā)現(xiàn):

    某一條邊上進(jìn)行匹配時(shí),不必一個(gè)字符一個(gè)字符的比較,而只需要比較第一個(gè)字符,跳過(guò)剩下來(lái)的部分、直接去下一個(gè)節(jié)點(diǎn),因?yàn)?#xff1a;

  • 一個(gè)節(jié)點(diǎn)每個(gè)分支的第一個(gè)字符都必定不相等(如果它們相等,則應(yīng)該被放在上方的邊上)。
  • 另一方面,在對(duì) STree(T[0 .. i-1]) 進(jìn)行擴(kuò)展,即將 T[i] 加到 T[0 .. i-1] 的每一個(gè)后綴后時(shí), T[j .. i-1] (0 <= j <= i-1) 已經(jīng)在樹(shù)中了,因此順著 T[j .. i-1] 查找下一次擴(kuò)展的位置時(shí),不可能遇到某一段邊實(shí)際不匹配但第一個(gè)字符相等的情況。
  • 6.2.4???Suffix Link

    好了,接下來(lái)要講最重要也是最難理解的話題:后綴鏈接了。

    6.2.4.1???What is It

    用漢語(yǔ)解釋 Suffix link 的話,它就是某種顯式節(jié)點(diǎn)之間的鏈接,其目的是簡(jiǎn)化順著 T[j .. i-1] 找到下一次擴(kuò)展的地方的過(guò)程。

    根據(jù)?Count & Skip?的技巧,從根節(jié)點(diǎn)開(kāi)始找到擴(kuò)展點(diǎn)的算法復(fù)雜度已經(jīng)只與下方的分支數(shù)有關(guān)了,如果能直接從某個(gè)很接近擴(kuò)展點(diǎn)的顯式節(jié)點(diǎn)開(kāi)始查找,那么顯然能夠提高效率。

    很巧的,我們發(fā)現(xiàn),如果有某個(gè)內(nèi)部節(jié)點(diǎn)的路徑為?aS,其中?a?是一個(gè)字符、?S?是一個(gè)(可能為空的)字符串,那么肯定也會(huì)有一個(gè)路徑為?S?的內(nèi)部節(jié)點(diǎn)、即使沒(méi)有,也會(huì)在下次擴(kuò)展的時(shí)候產(chǎn)生。

    因?yàn)?/strong>: 如果?aS?停在一個(gè)內(nèi)部節(jié)點(diǎn)上面,也就是?aS?后有分支,那么當(dāng)前的 T[0 .. i-1] 肯定有子串?aS+c 以及aS+d ( c 和 d 是不同的兩個(gè)字符) 這兩個(gè)不同的子串,于是肯定也有?S+c 以及?S+d 兩個(gè)子串了。至于“下次擴(kuò)展時(shí)產(chǎn)生”的這種情況,則發(fā)生在已經(jīng)有?aS+c 、?S+c ,剛加入?aS+d (于是產(chǎn)生了新的內(nèi)部節(jié)點(diǎn)),正要加入?S+d 的時(shí)候。

    這樣,我們將節(jié)點(diǎn)?aS?指向?S?,并把這樣的一個(gè)指向關(guān)系稱為?aS?的?后綴鏈接?。

    見(jiàn)圖中紅色箭頭:

    6.2.4.2???How It Works

    后綴鏈接有什么用呢?

    前面似乎提示過(guò)了,在?aS?后加上了 d 之后,下一個(gè)步驟便是在?S?之后加上 d ;于是同樣,在?aSxy?后加上 z (步驟一)之后,下一個(gè)步驟是在?Sxy?后加上 z (步驟二)。如果?aS?停在了內(nèi)部節(jié)點(diǎn)上,那么?S?也停在內(nèi)部節(jié)點(diǎn)上,那么從步驟一到步驟二,通過(guò)后綴鏈接,可以直接找到路徑為?S?的這個(gè)內(nèi)部節(jié)點(diǎn);然后通過(guò)Count & Skip?技巧,可以直接定位到?xy?后方的擴(kuò)展點(diǎn)。

    參考圖中?A?節(jié)點(diǎn)到?B?節(jié)點(diǎn)的藍(lán)色路徑:

    這里用?MISSISSIPPI?的例子來(lái)講后綴鏈接似乎不太合適,參考它的構(gòu)造過(guò)程圖示,第九步之前樹(shù)中一直只有一個(gè)內(nèi)部節(jié)點(diǎn),第九步?jīng)]有利用后綴鏈接加速,而第九步之后,根據(jù)?Opened Leaves?技巧,只需要對(duì)?P?開(kāi)頭的那一條邊進(jìn)行擴(kuò)展……但這個(gè)例子絕對(duì)不意味著后綴鏈接沒(méi)有用。

    嗯,比如說(shuō),作為一個(gè)正面的案例,構(gòu)建?MISSISSIPPIMISSIA?的后綴樹(shù)的第 17 階段(加入?'A'?),第 13、14、15 次擴(kuò)展便是順著后綴鏈接進(jìn)行的(?ISSI?->?SSI?->?SI?->?I?->?ROOT?)。

    6.2.4.3???How To Maintain It

    那么如何建立和維護(hù)后綴鏈接呢?

    依然根據(jù)上面提到的原理,我們發(fā)現(xiàn):

    在某一階段中,前一次擴(kuò)展訪問(wèn)到(或者建立)的內(nèi)部節(jié)點(diǎn)到本次擴(kuò)展訪問(wèn)到的地方要么已經(jīng)有了一條后綴鏈接,要么就應(yīng)該建立一條后綴鏈接。

    因此,具體實(shí)現(xiàn)起來(lái),我們可以保存一個(gè)最后訪問(wèn)的內(nèi)部節(jié)點(diǎn)的指針?p?,訪問(wèn)到新的內(nèi)部節(jié)點(diǎn)?node?的時(shí)候,將?p?的后綴鏈接指向?node?,再將?p?設(shè)為?node?即可。

    6.3???Why O(n)

    至于為什么這個(gè)算法是線性的,分析起來(lái)倒是不難:

    設(shè) n = |T|。

  • 首先,對(duì)于每個(gè)階段的隱式擴(kuò)展,花費(fèi)的都是常數(shù)時(shí)間,因此整體上是 O(n)。
  • 然后,每次顯式擴(kuò)展都會(huì)產(chǎn)生新的樹(shù)葉,而整個(gè)后綴樹(shù)中有 n 個(gè)樹(shù)葉;因此顯式擴(kuò)展一共會(huì)執(zhí)行 n 次。 ([2]?中說(shuō)是 2n?次,為什么?)
  • 通過(guò)使用?Suffix Link?+?Count & Skip?技巧,在所有這 n 次顯式擴(kuò)展中,總共的節(jié)點(diǎn)訪問(wèn)次數(shù)為 O(n) 。這又是因?yàn)?#xff1a;
    • 假設(shè)節(jié)點(diǎn) A 的后綴鏈接指向節(jié)點(diǎn) B ,A 的路徑為?pa?, B 的路徑為?pb?, A 上方有?x?個(gè)節(jié)點(diǎn), B 上方有?y?個(gè)節(jié)點(diǎn),則有?:
    • x?<=?y?+ 1 (因?yàn)?pb?是?pa?的后綴,因此除了第一個(gè)字符之后的分支,?pa?路徑上的其他分支?pb路徑上必然也有,反之則不然)。
    • 因此,再看每次顯式擴(kuò)展的過(guò)程:從當(dāng)前位置向下找到擴(kuò)展點(diǎn);完成擴(kuò)展; 向上一個(gè)節(jié)點(diǎn);跟隨后綴鏈接來(lái)到下一個(gè)位置。其中除了“從當(dāng)前位置向下找到擴(kuò)展點(diǎn)”這一步之外,剩下的都只需要常數(shù)時(shí)間。
    • 而“向下”查找一次之后,跟隨后綴鏈接來(lái)到新的一個(gè)節(jié)點(diǎn)時(shí)最多只能使上方的節(jié)點(diǎn)數(shù)減少 2。
    • 后綴樹(shù)整體的深度不超過(guò)?n?,而總共又只有?n?次顯式擴(kuò)展,因此節(jié)點(diǎn)的訪問(wèn)次數(shù)為 O(n)
  • 因此,顯式擴(kuò)展整體的時(shí)間復(fù)雜度也是 O(n)。
  • 于是,算法的時(shí)間復(fù)雜度便是 O(n) 了。
  • 6.4???C++ Code

    最后,以下代碼是我的實(shí)現(xiàn),使用 boost license 以及 GPL v3 發(fā)布,需要用的話請(qǐng)自由選擇~

    使用模板一方面是因?yàn)樽址拇_有不同的類型,另一方面(更主要的)是方便把實(shí)現(xiàn)和定義放在同一個(gè)文件里,以減少鏈接的工作(我懶嘛),用 C 的童鞋,對(duì)不住了。

    本人對(duì)下面程序的任何 bug 引起的任何后果不負(fù)任何責(zé)任,但是如果發(fā)現(xiàn)有 bug 請(qǐng)您務(wù)必與俺聯(lián)系。

    /** File: suffixtree.h* Author: If* Created on Sep/14th/2010, 14:02** License: GPL v3 / Boost Software License 1.0*//**update: Oct/17th/2010:Record belongTo information on leaves only,other works were left to `dfs`, `bfs` and `eachLeaf`function.*update: Oct/17th/2010:Add `eachLeaf` function, for it's quite useful*//* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *//* Copyright (C) 2010 IfThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. *//* following code may cause permanent brain damage, read at yourown risk. */#ifndef SUFFIXTREE_H #define SUFFIXTREE_H// #define HAS_BOOST#include <functional> #include <algorithm> #include <stdexcept> #include <iterator> #include <iostream> #include <vector> #include <string> #include <stack> #include <queue>#include <assert.h> #include <stdio.h>#ifdef HAS_BOOST #include <boost/pool/object_pool.hpp> #endifusing std::vector; using std::basic_string;#ifdef DEBUG_STREE FILE* __streeLogFile=stderr; #define dbg(...) \ do{ \ fprintf(__streeLogFile, __VA_ARGS__); \ fflush(__streeLogFile); \ } while(0) #define dbg_puts(str, len) \ do{ \ for(int i=0;i<len;++i) \ fputc(str[i], __streeLogFile); \ fflush(__streeLogFile); \ } while(0) #else #define dbg(...) /*nothing at all*/ #define dbg_puts(s, l) /*nothing at all*/ #endiftemplate <class CharT, class Additional=void*> struct Node {// Important members:CharT const* str; // since edge-node has one-to-one correspondenceint len; // there is no need to separate them.int startAt; // for the use of presenting an implicit node.// it will then be the position of first different// charactor.Node * link; // suffix link.Node * parent;vector<Node*> branches;int belongTo; // which string does this leaf belongs to.// *only recorded on leaves*// Misc members:int leafNum; // leaf number ( nth suffix ).int depth; // no need to explain.Additional info; // some more information you need, depending on// your application.Node():str(0),len(0),startAt(0),link(0),parent(0),branches(),belongTo(-1),leafNum(0),depth(0),info(){ }Node(Node const& other):str(other.str),len(other.len),startAt(other.startAt),link(other.link),parent(other.parent),branches(other.branches),belongTo(other.belongTo),leafNum(other.leafNum),depth(other.depth),info(other.info){ }~Node() { }/*static inline int matchFirst(Node const& node, CharT const val){return node.str[0]==val? node.len : 0;}static inline bool ptrMatchFirst(Node const* node, CharT const val){return node->str[0]==val? node->len : 0;}*/struct MatchFirst {CharT val;MatchFirst(CharT v):val(v){ }inline bool operator()(Node const* node) const {return node->str[0]==val;}}; };template <class CharT=char, class T=void*> class SuffixTree { protected:typedef Node<CharT,T> NodeT;typedef typename vector<NodeT*>::iteratorNodeIterator; #ifdef HAS_BOOSTboost::object_pool<NodeT>allNodes_; #endifNodeT* root_;vector<NodeT*> leaves_;vector<NodeT*> allLeaves_;int nLeaves_;vector<basic_string<CharT> >strings_;NodeT* latestInternalNode_;NodeT* currentPos_;int phase_;int extension_;protected:NodeT* allocNode() { #ifdef HAS_BOOSTreturn allNodes_.malloc(); #elsereturn new NodeT; #endif}void freeNode(NodeT *& node) { #ifdef HAS_BOOSTallNodes_.free(node); #elsedelete node; #endifnode = 0;}/*** following str[0:len], and then add str[len] to current tree.** @return true if undone, false if str[0..len] already exists - which means* extension process is done.*/bool extend (CharT const* str, int pos);// follow path "str" from node down.NodeT* jumpDown(CharT const* str, int len, NodeT* node, bool fromFront=0);/*** split one edge from its startAt position.** @param edge: a node with startAt!=0* @param leafLabel: label of the newly created leaf, with length==1* @return newly created leaf.*/NodeT* splitEdge(NodeT* edge, CharT const* leafLabel);void putEnd() {int p = phase_+1;int const nth = strings_.size()-1;for(NodeIterator itr=leaves_.begin(),end=leaves_.end(); itr!=end; ++itr){(*itr)->len = --p - (*itr)->depth;allLeaves_.push_back(*itr);}}#ifndef HAS_BOOSTinline void destroy(NodeT* node) {for(NodeIterator itr=node->branches.begin(), end=node->branches.end();itr!=end; ++itr)destroy(*itr);freeNode(node);} #endifprivate:SuffixTree(SuffixTree<CharT,T> const&); // complicated while useless,// i've got no interest.public:inline SuffixTree();inline SuffixTree(basic_string<CharT> const&);#ifdef HAS_BOOST~SuffixTree() { /*nothing to do*/ } #else~SuffixTree() { destroy(root_); } #endifvoid addString(CharT const * str, int len);void addString(basic_string<CharT> const& str) {addString(str.c_str(), str.length()); // to maintain a copy}NodeT const* root() {return root_;} /*void deleteString(CharT const * str, int len);void deleteString(basic_string<CharT> const& str) {deleteString(str.c_str(), str.length());} */// will call f(node) on each node of this tree, including root.template <class Function>void dfs(Function f) {std::stack<NodeT*> todo;todo.push(root_);while(!todo.empty()) {NodeT* node = todo.top();todo.pop();for(NodeIterator itr=node->branches.begin(),end=node->branches.end();itr!=end;++itr) {todo.push(*itr);}f(*node);}}// will call f(node) on each node of this tree, including root.template <class Function>void bfs(Function f) {std::queue<NodeT*> todo;todo.push(root_);while(!todo.empty()) {NodeT* node = todo.front();todo.pop();for(NodeIterator itr=node->branches.begin(),end=node->branches.end();itr!=end;++itr) {todo.push(*itr);}f(*node);}}template <class Function>void eachLeaf(Function f) {for(NodeIterator itr=allLeaves_.begin(), end=allLeaves_.end();itr!=end; ++itr) {f(**itr);}}// human-readable json-like format outputvoid print(std::basic_ostream<CharT> * stream);// machine-readable dot format output, can be used to// generate graph using Graphvizvoid dot(std::basic_ostream<CharT> * stream); };template <class CharT, class T> SuffixTree<CharT,T>::SuffixTree():root_(0),leaves_(),nLeaves_(0),strings_(),latestInternalNode_(0),currentPos_(0),phase_(0),extension_(0) {root_ = allocNode();root_->parent = root_; // for convenienceroot_->link = root_;root_->len = 0;root_->str = 0;root_->startAt = 0;currentPos_ = root_; }template <class CharT, class T> SuffixTree<CharT,T>::SuffixTree(basic_string<CharT> const& str):root_(0),leaves_(),nLeaves_(0),strings_(),latestInternalNode_(0),currentPos_(0),phase_(0),extension_(0) {root_ = allocNode();root_->parent = root_; // for convenienceroot_->link = root_;root_->len = 0;root_->str = 0;root_->startAt = 0;currentPos_ = root_;this->addString(str); }template <class CharT, class T> void SuffixTree<CharT,T>::addString(CharT const* str, int len) {strings_.push_back(basic_string<CharT>(str, str+len));int whichString = strings_.size()-1;CharT const* cstr = strings_.back().c_str();dbg("adding string \"%s\" to suffix tree ... \n", cstr);root_->len = 0;root_->depth = 0;leaves_ = vector<NodeT*>();nLeaves_=0;currentPos_=root_;for(phase_=0; phase_<=len; ++phase_) { // there's a '\0' behindbool undone = true;latestInternalNode_ = 0;for(int j=nLeaves_; j <= phase_ && undone; ++j) {extension_ = j;undone = extend( cstr+extension_, phase_-extension_ );}}putEnd(); }template <class CharT, class T> typename SuffixTree<CharT,T>::NodeT* SuffixTree<CharT,T>:: jumpDown(CharT const* str, int len, NodeT* node, bool fromFront) {dbg("# jumping down path len=%d str=\"", len);dbg_puts(str,len);dbg("\" from node %08x ... \n", node);int i=0;if(fromFront) {if (node!=root_ && str[0]!=node->str[0]) {dbg("!!! cannot find such path !!!\n");throw(std::runtime_error("path not found"));}i = node->len != -1?node->len:phase_ - node->depth;}for(; i<len; ) {NodeIterator itr =std::find_if( node->branches.begin(),node->branches.end(),typename NodeT::MatchFirst(str[i]) );if(itr == node->branches.end()) {dbg("!!! cannot find such path !!!\n");throw(std::runtime_error("path not found"));} else {dbg("> going into node %08x which begins with \'%c\', len=%d,"" depth=%d\n",*itr, (*itr)->str[0], (*itr)->len, (*itr)->depth );node = *itr;if( node->len != -1 ) // internal nodei += node->len;else // leafi += phase_ - node->depth;}}if( i != len ) { // implicit nodeif(node->len != -1)node->startAt = node->len - (i-len);elsenode->startAt = phase_ - node->depth - (i-len);}dbg("< done.\n");return node; }template <class CharT, class T> typename SuffixTree<CharT,T>::NodeT* SuffixTree<CharT,T>::splitEdge(NodeT* node, CharT const* leafLabel /*len==-1*/) {/*** \* # <-- startAt* \* node** => => => => => => =>** \* \* newInternal* / \* / newLeaf (return value)* node**/dbg("X spliting edge %08x \n", node);NodeT* newLeaf = allocNode();NodeT* newInternal = allocNode();// newInternal->belongTo = node->belongTo;newInternal->startAt = 0;newInternal->len = node->startAt;newInternal->str = node->str;newInternal->parent = node->parent;newInternal->link = root_;newInternal->depth = node->depth;newInternal->branches.push_back(node);newInternal->branches.push_back(newLeaf);*(std::find(newInternal->parent->branches.begin(),newInternal->parent->branches.end(),node)) = newInternal;node->depth += node->startAt;node->str += node->startAt;node->parent = newInternal;if(node->len != -1) {node->len -= node->startAt;}node->startAt = 0;newLeaf->str = leafLabel;newLeaf->depth = node->depth;newLeaf->link = root_;newLeaf->len = -1;newLeaf->parent = newInternal;dbg(" new internal node = %08x ; \t new leaf = %08x\n",newInternal, newLeaf);return newLeaf; }template <class CharT, class T> bool SuffixTree<CharT,T>::extend(CharT const* str, int pos) {dbg("{{{ in phase %d, extension %d;\n", phase_, extension_);dbg(" adding \'%c\' to suffix tree ... \n", str[pos]);int const whichString = strings_.size()-1;int skiped = currentPos_->depth;NodeT *node = jumpDown(str+skiped, pos-skiped, currentPos_, true);if (node->startAt != 0) { // implicit nodedbg(" got implicit node %08x starts at %d\n", node, node->startAt);if(node->str[node->startAt] != str[pos]) {NodeT *newLeaf = splitEdge( node, str+pos );newLeaf->leafNum = extension_;newLeaf->belongTo=whichString;node = newLeaf->parent;if(latestInternalNode_) {latestInternalNode_->link = node;dbg("-> creating suffix link from %08x to %08x\n",latestInternalNode_,node);}latestInternalNode_ = node;currentPos_ = node->parent;leaves_.push_back(newLeaf);++nLeaves_;} else {dbg(" suffix already exists.\n}}} done.\n");node->startAt = 0;return false; // suffix already exists, all done.}} else { // explicit nodedbg(" got explicit node\n");if(latestInternalNode_) {latestInternalNode_->link = node;dbg("-> creating suffix link from %08x to %08x\n",latestInternalNode_,node);}latestInternalNode_ = node;if( std::find_if( node->branches.begin(),node->branches.end(),typename NodeT::MatchFirst(str[pos]) )!= node->branches.end()) {dbg(" suffix already exists.\n}}} done.\n");currentPos_ = node;return false; // all done.} else if(node->branches.empty() && node!=root_) {// a leaf created in the past, now it should be exdended.node->belongTo=whichString;node->str = str+pos-node->len;node->len = -1;currentPos_ = node->parent;node->leafNum = extension_;leaves_.push_back(node);++nLeaves_;} else {// add a leaf to existing explicit node.NodeT *newLeaf = allocNode();dbg(" adding new leaf %08x to node %08x.\n", newLeaf, node);newLeaf->parent = node;newLeaf->link = root_;newLeaf->str = str+pos;newLeaf->len = -1; // leafnewLeaf->belongTo=whichString;newLeaf->depth = node->depth + node->len;node->branches.push_back(newLeaf);currentPos_ = node;newLeaf->leafNum = extension_;leaves_.push_back(newLeaf);++nLeaves_;}}dbg("-> following suffix link from %08x to %08x ...\n",currentPos_,currentPos_->link );currentPos_ = currentPos_->link;dbg("}}} done.\n");return true; }static inline char* x08 (char* buf, void const * ptr) {sprintf(buf, "%08x", ptr);return buf; }template <class CharT, class T> static void __printSuffixTreeNode(Node<CharT,T>* node,int margin_left,int padding_left,std::basic_ostream<CharT> * stream) {int i,I;char addr[16];if( node->branches.empty()) {for(i=0; i<margin_left; ++i)*stream<<' ';*stream << '\"';for(i=0; i<node->len; ++i)*stream<< node->str[i];*stream << "\" " << x08(addr, node)<< "[" << addr << "] ";*stream << "\n";} else {for(i=0; i<margin_left; ++i)*stream<<' ';*stream << '\"';for(i=0; i<node->len; ++i)*stream<< node->str[i];*stream << "\" " << x08(addr, node)<< "[" << addr << "] ";*stream << ": {\n";for(i=0, I=node->branches.size(); i<I; ++i) {__printSuffixTreeNode(node->branches[i],margin_left+padding_left,padding_left, stream);}for(i=0; i<margin_left; ++i)*stream<<' ';*stream << "} \n";} }template <class CharT, class T> void SuffixTree<CharT,T>::print(std::basic_ostream<CharT> * stream) {assert(!"function not supported"); }template <> void SuffixTree<char,void*>::print(std::ostream * stream) // || // std::basic_ostream<char> {*stream<<"Root ";__printSuffixTreeNode<char,void*>(root_, 0,2, stream); }template <class T> static void __dotPrintNode(Node<char,T>const*node,std::ostream*stream) {char buf[16];int i,I,j;for(i=0,I=node->branches.size(); i<I; ++i) {Node<char,T> const* p = node->branches[i];*stream<<"node"<<x08(buf,p)<<" [label=\"\"";if(p->branches.empty())*stream<<" peripheries=2 width=0.1 height=0.1";*stream<<"];\nnode"<<x08(buf,node);*stream<<" -> node"<<x08(buf,p)<<" [label=\"";for(j=0;j<p->len;++j)if(p->str[j])*stream<<p->str[j];else*stream<<"$";*stream<<"\"];\n";__dotPrintNode(p,stream);}if(!node->branches.empty()) {*stream<<"node"<<x08(buf,node);*stream<<" -> node"<<x08(buf, (node->link))<<" "<<"[color=red];\n";} }template <class CharT, class T> void SuffixTree<CharT,T>::dot(std::basic_ostream<CharT> *) {assert(!"function not supported"); }template <> void SuffixTree<char,void*>::dot(std::ostream * stream) {char buf[16];*stream<<"digraph stree {\n";*stream<<"node"<<x08(buf, root_)<<" [label=\"root\"];\n";*stream<<"node"<<buf<<" -> node"<<buf<<";\n";*stream<<"node [width=0.2 height=0.2] \n";__dotPrintNode<void*>(root_, stream);*stream<<"}\n"; }#endif /* SUFFIXTREE_H */// vi:ts=4:foldmethod=marker

    7???References

    [1]: Esko Ukkonen, Suffix tree and suffix array techniques for pattern analysis in strings, Erice School 30 Oct 2005
    [2](1,?2,?3,?4)?: Gusfield, Dan (1999) [1997]. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. USA: Cambridge University Press. ISBN 0-521-58519-8
    [3](1,?2)?: E. Ukkonen, On-Line Construction of Suffix Trees, Algorithmica, 14 (1995), 249-260

    轉(zhuǎn)載于:https://www.cnblogs.com/sandy2013/p/3260009.html

    總結(jié)

    以上是生活随笔為你收集整理的suffix tree的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    一二三四在线观看免费视频 | 99久久久无码国产精品免费 | 国产美女精品一区二区三区 | 亚洲综合精品香蕉久久网 | 大地资源网第二页免费观看 | 人妻少妇精品视频专区 | 亚洲熟妇色xxxxx欧美老妇 | 99久久亚洲精品无码毛片 | 午夜福利试看120秒体验区 | 国产在线精品一区二区三区直播 | 一本无码人妻在中文字幕免费 | 青青草原综合久久大伊人精品 | 亚洲色无码一区二区三区 | 性做久久久久久久久 | 爆乳一区二区三区无码 | 5858s亚洲色大成网站www | 天下第一社区视频www日本 | 久久久中文久久久无码 | 中文字幕无码热在线视频 | 99久久久国产精品无码免费 | 人妻天天爽夜夜爽一区二区 | aⅴ亚洲 日韩 色 图网站 播放 | 久久99精品久久久久久动态图 | 精品一区二区三区无码免费视频 | 影音先锋中文字幕无码 | 国产精品资源一区二区 | 人人妻人人澡人人爽精品欧美 | 欧美xxxx黑人又粗又长 | 偷窥日本少妇撒尿chinese | 国精品人妻无码一区二区三区蜜柚 | 荫蒂被男人添的好舒服爽免费视频 | 午夜精品久久久久久久久 | 日韩精品乱码av一区二区 | 麻豆国产丝袜白领秘书在线观看 | 亚洲爆乳大丰满无码专区 | 久久久久免费看成人影片 | 亚洲爆乳精品无码一区二区三区 | 国产成人无码专区 | 久久综合色之久久综合 | 日本饥渴人妻欲求不满 | 99久久亚洲精品无码毛片 | 国产舌乚八伦偷品w中 | aⅴ亚洲 日韩 色 图网站 播放 | 思思久久99热只有频精品66 | 无码人妻黑人中文字幕 | 377p欧洲日本亚洲大胆 | 对白脏话肉麻粗话av | 成人三级无码视频在线观看 | 国产亚洲美女精品久久久2020 | 国产成人无码一二三区视频 | 国产片av国语在线观看 | 澳门永久av免费网站 | 久久精品国产日本波多野结衣 | 久久亚洲a片com人成 | 在线欧美精品一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 国内精品人妻无码久久久影院 | 色综合视频一区二区三区 | 亚洲区欧美区综合区自拍区 | 久久99热只有频精品8 | 狂野欧美激情性xxxx | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品久久久久影院嫩草 | a片在线免费观看 | 香港三级日本三级妇三级 | 在线播放免费人成毛片乱码 | 少妇厨房愉情理9仑片视频 | 国产成人无码av在线影院 | 大肉大捧一进一出好爽视频 | 亚洲中文字幕无码中文字在线 | 色狠狠av一区二区三区 | 日韩精品无码免费一区二区三区 | 国产成人久久精品流白浆 | 在线看片无码永久免费视频 | 免费中文字幕日韩欧美 | 国产偷抇久久精品a片69 | 国产精品久久久久久亚洲影视内衣 | 国产乱码精品一品二品 | 午夜精品久久久内射近拍高清 | 亚洲成熟女人毛毛耸耸多 | 中文字幕av伊人av无码av | 国产精品视频免费播放 | 成人欧美一区二区三区黑人免费 | 中文精品无码中文字幕无码专区 | 久久精品无码一区二区三区 | 中文字幕乱码人妻无码久久 | 国产亚洲tv在线观看 | 人人妻人人澡人人爽欧美精品 | 精品久久综合1区2区3区激情 | 欧美日韩在线亚洲综合国产人 | 未满小14洗澡无码视频网站 | 成在人线av无码免观看麻豆 | 亚洲精品欧美二区三区中文字幕 | 最近中文2019字幕第二页 | 亚洲国产成人av在线观看 | 99久久亚洲精品无码毛片 | 午夜精品一区二区三区在线观看 | 午夜精品久久久久久久久 | 国产精品va在线播放 | 国产人妻久久精品二区三区老狼 | 亚洲娇小与黑人巨大交 | 国产亚洲美女精品久久久2020 | 亚洲精品一区二区三区在线 | 日韩 欧美 动漫 国产 制服 | 亚洲国产成人a精品不卡在线 | 国产亚洲精品久久久久久 | 久久99久久99精品中文字幕 | 黑人大群体交免费视频 | 国内综合精品午夜久久资源 | 99riav国产精品视频 | 中文久久乱码一区二区 | 日本熟妇人妻xxxxx人hd | 亚洲欧美国产精品久久 | 婷婷综合久久中文字幕蜜桃三电影 | 国产精品国产三级国产专播 | 亚洲国产成人av在线观看 | 熟女俱乐部五十路六十路av | 久久人人爽人人人人片 | 少妇一晚三次一区二区三区 | 草草网站影院白丝内射 | 亚洲午夜福利在线观看 | 波多野结衣av在线观看 | 性生交片免费无码看人 | 欧美人与物videos另类 | 激情爆乳一区二区三区 | 久久成人a毛片免费观看网站 | 久精品国产欧美亚洲色aⅴ大片 | 18黄暴禁片在线观看 | 亚洲精品一区二区三区大桥未久 | 思思久久99热只有频精品66 | 成人三级无码视频在线观看 | 亚洲成av人在线观看网址 | 国产成人av免费观看 | 亚洲小说春色综合另类 | 国产精品视频免费播放 | 在线亚洲高清揄拍自拍一品区 | 国产成人综合在线女婷五月99播放 | 国产精品.xx视频.xxtv | 天堂а√在线地址中文在线 | 国产精品久久精品三级 | 国产精品99爱免费视频 | 亚洲日韩中文字幕在线播放 | 97人妻精品一区二区三区 | 久久久久av无码免费网 | 1000部啪啪未满十八勿入下载 | 粉嫩少妇内射浓精videos | 青草视频在线播放 | 精品国产一区二区三区四区 | 综合人妻久久一区二区精品 | 67194成是人免费无码 | 久久99久久99精品中文字幕 | 亚洲精品中文字幕 | 中文无码精品a∨在线观看不卡 | 装睡被陌生人摸出水好爽 | 国产人成高清在线视频99最全资源 | 无码人妻精品一区二区三区下载 | 国产精品久久久久久久影院 | 精品无码一区二区三区的天堂 | 无码国模国产在线观看 | 在线播放无码字幕亚洲 | 2019nv天堂香蕉在线观看 | 欧美日韩色另类综合 | 国产av无码专区亚洲awww | 丰满人妻精品国产99aⅴ | 老太婆性杂交欧美肥老太 | 久久99精品久久久久婷婷 | 亚洲精品一区三区三区在线观看 | 少妇无码av无码专区在线观看 | 免费男性肉肉影院 | 久久综合网欧美色妞网 | 熟妇人妻激情偷爽文 | 国产亚洲精品精品国产亚洲综合 | 人人妻人人藻人人爽欧美一区 | 欧美亚洲国产一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 2019nv天堂香蕉在线观看 | 99国产精品白浆在线观看免费 | 欧美激情内射喷水高潮 | 色情久久久av熟女人妻网站 | 国产手机在线αⅴ片无码观看 | 欧美老熟妇乱xxxxx | 欧美 日韩 人妻 高清 中文 | 女人被男人爽到呻吟的视频 | 人妻体内射精一区二区三四 | 亚洲中文字幕av在天堂 | 国产精品99爱免费视频 | 97无码免费人妻超级碰碰夜夜 | 一个人看的视频www在线 | 亚洲日本va午夜在线电影 | 国内精品久久久久久中文字幕 | 无码国产激情在线观看 | √8天堂资源地址中文在线 | 亚洲 日韩 欧美 成人 在线观看 | 久久综合给合久久狠狠狠97色 | 国产精品第一国产精品 | 国产手机在线αⅴ片无码观看 | 综合网日日天干夜夜久久 | 2020最新国产自产精品 | 久久这里只有精品视频9 | 亚洲国产精品美女久久久久 | 亚洲精品国产精品乱码视色 | 一本无码人妻在中文字幕免费 | 国产成人无码午夜视频在线观看 | 国内综合精品午夜久久资源 | 无码人中文字幕 | 东北女人啪啪对白 | 婷婷丁香五月天综合东京热 | 人人超人人超碰超国产 | 青青青爽视频在线观看 | 欧美精品无码一区二区三区 | 水蜜桃色314在线观看 | 欧美性色19p | 一个人看的www免费视频在线观看 | 中文精品无码中文字幕无码专区 | 精品偷自拍另类在线观看 | 亚洲国产欧美在线成人 | 无码av岛国片在线播放 | 国产精品18久久久久久麻辣 | 极品尤物被啪到呻吟喷水 | 国产乱码精品一品二品 | 精品水蜜桃久久久久久久 | 狂野欧美性猛xxxx乱大交 | 综合激情五月综合激情五月激情1 | 国产成人一区二区三区在线观看 | 成在人线av无码免观看麻豆 | 久久亚洲日韩精品一区二区三区 | 国产内射老熟女aaaa | 久久人妻内射无码一区三区 | 国产九九九九九九九a片 | 国产xxx69麻豆国语对白 | 欧美激情综合亚洲一二区 | 国精产品一品二品国精品69xx | 欧美 日韩 亚洲 在线 | 成人试看120秒体验区 | 亚洲区小说区激情区图片区 | 亚洲乱码国产乱码精品精 | 久久精品女人天堂av免费观看 | 男女作爱免费网站 | 在线播放无码字幕亚洲 | 捆绑白丝粉色jk震动捧喷白浆 | 国产成人无码av片在线观看不卡 | 国产色视频一区二区三区 | 欧美35页视频在线观看 | 国产尤物精品视频 | 少妇厨房愉情理9仑片视频 | 国产精品久久久av久久久 | 婷婷五月综合缴情在线视频 | 亚洲人交乣女bbw | 国产精品无码久久av | 国产精品成人av在线观看 | 免费国产黄网站在线观看 | 国产明星裸体无码xxxx视频 | 俄罗斯老熟妇色xxxx | 成人无码精品1区2区3区免费看 | 国内精品久久久久久中文字幕 | 亚洲一区二区三区无码久久 | 国产激情综合五月久久 | 亚洲精品国偷拍自产在线麻豆 | 色婷婷香蕉在线一区二区 | 国产人妻精品一区二区三区不卡 | 伊人久久大香线蕉亚洲 | 无码福利日韩神码福利片 | 捆绑白丝粉色jk震动捧喷白浆 | 色窝窝无码一区二区三区色欲 | 97人妻精品一区二区三区 | 少女韩国电视剧在线观看完整 | 999久久久国产精品消防器材 | 久久熟妇人妻午夜寂寞影院 | 玩弄少妇高潮ⅹxxxyw | 亚洲阿v天堂在线 | ass日本丰满熟妇pics | 国产精品无码成人午夜电影 | 亚洲一区二区三区播放 | 亚洲精品久久久久久久久久久 | 欧美zoozzooz性欧美 | 欧美日韩人成综合在线播放 | 水蜜桃色314在线观看 | 久久国产精品_国产精品 | 亚洲精品一区二区三区四区五区 | 四虎影视成人永久免费观看视频 | 国产一区二区三区影院 | 无套内谢老熟女 | 无码任你躁久久久久久久 | 国产精品第一区揄拍无码 | 国产精品办公室沙发 | 激情国产av做激情国产爱 | 在线观看免费人成视频 | 麻花豆传媒剧国产免费mv在线 | 无码精品国产va在线观看dvd | 波多野42部无码喷潮在线 | 东京无码熟妇人妻av在线网址 | 少妇人妻偷人精品无码视频 | 好爽又高潮了毛片免费下载 | 久久久中文久久久无码 | 欧美freesex黑人又粗又大 | 亲嘴扒胸摸屁股激烈网站 | 日韩欧美群交p片內射中文 | 成人免费视频在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 女人被男人爽到呻吟的视频 | 国产综合色产在线精品 | 国产精品永久免费视频 | 亚洲理论电影在线观看 | 无码一区二区三区在线观看 | 亚洲精品一区三区三区在线观看 | 日韩精品成人一区二区三区 | 久久精品99久久香蕉国产色戒 | 久久伊人色av天堂九九小黄鸭 | 午夜精品久久久久久久久 | 骚片av蜜桃精品一区 | 亚洲国产精华液网站w | 青草青草久热国产精品 | 人人妻人人藻人人爽欧美一区 | 午夜精品久久久内射近拍高清 | 四十如虎的丰满熟妇啪啪 | 国产激情无码一区二区 | 久久国内精品自在自线 | 日韩精品久久久肉伦网站 | 欧美阿v高清资源不卡在线播放 | 亚洲理论电影在线观看 | 亚洲色www成人永久网址 | 亚洲精品国产精品乱码不卡 | 久久综合狠狠综合久久综合88 | 国产香蕉尹人视频在线 | 国产内射老熟女aaaa | 人妻少妇被猛烈进入中文字幕 | 欧洲欧美人成视频在线 | 亚洲精品成a人在线观看 | 亚洲欧美国产精品专区久久 | 国产精品多人p群无码 | 国产成人无码av一区二区 | 成熟人妻av无码专区 | 领导边摸边吃奶边做爽在线观看 | 天堂а√在线中文在线 | 免费人成在线视频无码 | 欧美丰满熟妇xxxx | 天下第一社区视频www日本 | 欧美 日韩 人妻 高清 中文 | 人妻天天爽夜夜爽一区二区 | 精品久久8x国产免费观看 | 一二三四社区在线中文视频 | 免费乱码人妻系列无码专区 | 荫蒂添的好舒服视频囗交 | 国产疯狂伦交大片 | 中文字幕av伊人av无码av | 国产猛烈高潮尖叫视频免费 | 天天燥日日燥 | 中文字幕无码av波多野吉衣 | 国精产品一品二品国精品69xx | 久久久久人妻一区精品色欧美 | 97夜夜澡人人双人人人喊 | 俺去俺来也www色官网 | 在线a亚洲视频播放在线观看 | 色一情一乱一伦一视频免费看 | 99麻豆久久久国产精品免费 | 鲁一鲁av2019在线 | 国产日产欧产精品精品app | 一个人免费观看的www视频 | 免费人成在线视频无码 | 曰本女人与公拘交酡免费视频 | 国产精品久久久久久亚洲毛片 | 亚洲精品午夜国产va久久成人 | 国产精品va在线观看无码 | 国产乡下妇女做爰 | 国内精品人妻无码久久久影院 | 国产卡一卡二卡三 | 国产亚洲tv在线观看 | 亚洲国产精品一区二区第一页 | 无套内谢的新婚少妇国语播放 | 亚洲精品www久久久 | 水蜜桃av无码 | 亚洲色大成网站www国产 | 国产真人无遮挡作爱免费视频 | 少妇激情av一区二区 | 欧美人与动性行为视频 | 日日橹狠狠爱欧美视频 | 久久国产自偷自偷免费一区调 | 久久亚洲a片com人成 | 成人性做爰aaa片免费看不忠 | 蜜桃av抽搐高潮一区二区 | 国产黄在线观看免费观看不卡 | 亚洲a无码综合a国产av中文 | 国产精品无码永久免费888 | 国产无套粉嫩白浆在线 | 精品国产一区二区三区四区在线看 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美熟妇另类久久久久久不卡 | 婷婷综合久久中文字幕蜜桃三电影 | 国産精品久久久久久久 | 青青青爽视频在线观看 | 免费无码的av片在线观看 | 亚洲成av人片在线观看无码不卡 | 亚洲大尺度无码无码专区 | 久久久久久九九精品久 | 精品久久久久香蕉网 | 老熟女重囗味hdxx69 | 亚洲国产精品无码久久久久高潮 | 中文精品无码中文字幕无码专区 | 国产在线aaa片一区二区99 | 亚洲小说春色综合另类 | 国产无套内射久久久国产 | 亚洲の无码国产の无码步美 | 在线 国产 欧美 亚洲 天堂 | 亚洲成色www久久网站 | 国产激情一区二区三区 | 亚洲人成人无码网www国产 | 伊人久久大香线蕉av一区二区 | 色欲综合久久中文字幕网 | 狠狠噜狠狠狠狠丁香五月 | 日韩欧美中文字幕在线三区 | 亚洲天堂2017无码 | 国产麻豆精品精东影业av网站 | 色爱情人网站 | 丰满少妇人妻久久久久久 | 激情亚洲一区国产精品 | 免费无码一区二区三区蜜桃大 | 久久综合久久自在自线精品自 | 日韩av无码中文无码电影 | 欧美日韩综合一区二区三区 | 香蕉久久久久久av成人 | 国产精品多人p群无码 | 男人扒开女人内裤强吻桶进去 | 国产精品高潮呻吟av久久4虎 | 内射老妇bbwx0c0ck | 性欧美疯狂xxxxbbbb | 国产av无码专区亚洲awww | 国产亚洲精品久久久ai换 | 欧美日本精品一区二区三区 | 一本大道久久东京热无码av | 色婷婷久久一区二区三区麻豆 | 永久免费精品精品永久-夜色 | 国产精品va在线观看无码 | 日本一卡2卡3卡四卡精品网站 | 久久久精品456亚洲影院 | 成人免费视频视频在线观看 免费 | 日本一卡二卡不卡视频查询 | 亚洲综合在线一区二区三区 | 亚洲最大成人网站 | 国产成人精品必看 | 激情人妻另类人妻伦 | 男女作爱免费网站 | 久久久精品人妻久久影视 | 久久国产自偷自偷免费一区调 | 国产精品人妻一区二区三区四 | 国产福利视频一区二区 | 免费人成网站视频在线观看 | 日本精品人妻无码免费大全 | 免费人成在线观看网站 | 又大又硬又黄的免费视频 | 99国产欧美久久久精品 | 乱人伦人妻中文字幕无码 | 十八禁视频网站在线观看 | 成在人线av无码免费 | 亚洲一区二区三区含羞草 | 国产成人精品无码播放 | 女人被男人躁得好爽免费视频 | 国产午夜手机精彩视频 | 中文无码成人免费视频在线观看 | 国产精品久久久久久久影院 | 香港三级日本三级妇三级 | 亚洲熟妇色xxxxx欧美老妇y | 欧美日韩视频无码一区二区三 | 欧美性生交活xxxxxdddd | 欧美熟妇另类久久久久久不卡 | 亚洲精品中文字幕久久久久 | 综合人妻久久一区二区精品 | 成人无码精品1区2区3区免费看 | 未满小14洗澡无码视频网站 | 全黄性性激高免费视频 | 青草青草久热国产精品 | 国产精品久久国产三级国 | 国产日产欧产精品精品app | 99视频精品全部免费免费观看 | 亚洲一区二区三区偷拍女厕 | 2019nv天堂香蕉在线观看 | 国产成人无码一二三区视频 | 亚洲男人av香蕉爽爽爽爽 | 亚洲色大成网站www | 无码人妻丰满熟妇区毛片18 | 黑人大群体交免费视频 | 一个人看的www免费视频在线观看 | 色五月五月丁香亚洲综合网 | 精品无码国产自产拍在线观看蜜 | 国产精品亚洲专区无码不卡 | 最近中文2019字幕第二页 | 少妇性l交大片 | 久久婷婷五月综合色国产香蕉 | 亚洲色偷偷偷综合网 | 亚洲色大成网站www国产 | 无码国产激情在线观看 | 超碰97人人射妻 | 久久精品国产大片免费观看 | 亚洲一区二区三区含羞草 | 亚洲日本在线电影 | 给我免费的视频在线观看 | 国产激情艳情在线看视频 | 2019午夜福利不卡片在线 | 久久国产精品_国产精品 | 亚洲色无码一区二区三区 | 2019nv天堂香蕉在线观看 | 成人试看120秒体验区 | 亚洲午夜久久久影院 | 久久99精品久久久久婷婷 | 午夜男女很黄的视频 | 97资源共享在线视频 | 国产午夜手机精彩视频 | 中文字幕无码免费久久99 | 中文字幕亚洲情99在线 | 学生妹亚洲一区二区 | 色综合视频一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 午夜无码区在线观看 | 成人免费无码大片a毛片 | 性欧美熟妇videofreesex | 日韩精品久久久肉伦网站 | 麻豆国产丝袜白领秘书在线观看 | 少妇愉情理伦片bd | 精品久久久久香蕉网 | 狠狠色色综合网站 | 丝袜人妻一区二区三区 | 老子影院午夜伦不卡 | 亚洲一区二区三区偷拍女厕 | 色综合久久中文娱乐网 | 蜜桃无码一区二区三区 | 窝窝午夜理论片影院 | 99精品无人区乱码1区2区3区 | 帮老师解开蕾丝奶罩吸乳网站 | 亚洲理论电影在线观看 | 97精品人妻一区二区三区香蕉 | 丰满少妇女裸体bbw | 精品厕所偷拍各类美女tp嘘嘘 | 成人一区二区免费视频 | 两性色午夜视频免费播放 | 蜜桃臀无码内射一区二区三区 | 红桃av一区二区三区在线无码av | 人人妻人人澡人人爽欧美精品 | 欧美丰满少妇xxxx性 | 99久久人妻精品免费二区 | www国产亚洲精品久久网站 | 7777奇米四色成人眼影 | 乱码av麻豆丝袜熟女系列 | 亚洲色欲久久久综合网东京热 | 亚洲中文字幕va福利 | 精品aⅴ一区二区三区 | 日韩精品无码免费一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 无码帝国www无码专区色综合 | 人妻插b视频一区二区三区 | 婷婷六月久久综合丁香 | 熟妇人妻无乱码中文字幕 | 精品国产一区二区三区四区在线看 | 中文字幕无码视频专区 | 精品国产福利一区二区 | 国产香蕉97碰碰久久人人 | 亚洲精品国偷拍自产在线观看蜜桃 | 真人与拘做受免费视频一 | 成年女人永久免费看片 | 一区二区三区高清视频一 | 久久97精品久久久久久久不卡 | 欧美性色19p | 丰满人妻一区二区三区免费视频 | 午夜熟女插插xx免费视频 | 午夜福利不卡在线视频 | 国产av人人夜夜澡人人爽麻豆 | 国产精品亚洲а∨无码播放麻豆 | 少妇性荡欲午夜性开放视频剧场 | 欧美成人免费全部网站 | 国产精品99久久精品爆乳 | 国产亚洲美女精品久久久2020 | 无遮无挡爽爽免费视频 | 精品久久久无码中文字幕 | 精品一二三区久久aaa片 | 亚洲一区二区三区无码久久 | 亚洲日韩av一区二区三区中文 | 国产精品无套呻吟在线 | 欧美性生交xxxxx久久久 | 日本饥渴人妻欲求不满 | 日韩欧美群交p片內射中文 | 欧洲美熟女乱又伦 | 国产偷抇久久精品a片69 | 亚洲综合伊人久久大杳蕉 | 亚洲欧美国产精品久久 | 免费视频欧美无人区码 | 久久99国产综合精品 | 日本免费一区二区三区最新 | 亚洲一区二区三区无码久久 | 久久久久亚洲精品男人的天堂 | 无遮挡国产高潮视频免费观看 | 精品欧洲av无码一区二区三区 | 亚洲国产综合无码一区 | 丰满肥臀大屁股熟妇激情视频 | 日本熟妇乱子伦xxxx | 熟女体下毛毛黑森林 | 国产无套内射久久久国产 | 精品乱子伦一区二区三区 | 精品成人av一区二区三区 | av在线亚洲欧洲日产一区二区 | 精品无人区无码乱码毛片国产 | 亚洲精品综合五月久久小说 | 三上悠亚人妻中文字幕在线 | 亚洲色成人中文字幕网站 | 国产精品爱久久久久久久 | 亚洲最大成人网站 | 中文字幕人成乱码熟女app | 性色欲网站人妻丰满中文久久不卡 | 日韩精品成人一区二区三区 | 亚洲成a人一区二区三区 | 日本精品人妻无码免费大全 | 人人妻人人澡人人爽精品欧美 | 国产成人无码区免费内射一片色欲 | 国产人妻大战黑人第1集 | 无码国产乱人伦偷精品视频 | 国产精品亚洲专区无码不卡 | 国产亚洲视频中文字幕97精品 | 欧美 亚洲 国产 另类 | 奇米影视7777久久精品 | 精品国产成人一区二区三区 | 色婷婷av一区二区三区之红樱桃 | 欧美老妇交乱视频在线观看 | 国产真人无遮挡作爱免费视频 | 最近中文2019字幕第二页 | 日韩亚洲欧美中文高清在线 | 国产精品人人爽人人做我的可爱 | 婷婷丁香五月天综合东京热 | 亚洲日本一区二区三区在线 | 亚洲人成人无码网www国产 | 国产成人综合在线女婷五月99播放 | 亚洲一区二区三区四区 | 人人澡人摸人人添 | 日日橹狠狠爱欧美视频 | 亚洲精品一区二区三区在线观看 | 欧美一区二区三区 | 人妻中文无码久热丝袜 | 大地资源网第二页免费观看 | 久久精品人人做人人综合试看 | 久久精品国产一区二区三区 | 九月婷婷人人澡人人添人人爽 | 国产亚洲精品久久久久久久久动漫 | 国产精品丝袜黑色高跟鞋 | 人人妻人人澡人人爽欧美一区九九 | 国产午夜亚洲精品不卡下载 | 99久久久国产精品无码免费 | 亚洲一区二区三区无码久久 | 未满成年国产在线观看 | 久久综合九色综合97网 | 国产熟女一区二区三区四区五区 | 中文字幕无线码免费人妻 | 黑人玩弄人妻中文在线 | 又粗又大又硬又长又爽 | 激情内射亚州一区二区三区爱妻 | 亚洲欧美国产精品久久 | 日韩人妻少妇一区二区三区 | 免费国产成人高清在线观看网站 | 亚洲日韩精品欧美一区二区 | 精品国产av色一区二区深夜久久 | 强奷人妻日本中文字幕 | aⅴ亚洲 日韩 色 图网站 播放 | 澳门永久av免费网站 | 日本精品久久久久中文字幕 | 亚洲中文字幕成人无码 | 国产午夜无码精品免费看 | 国产又爽又猛又粗的视频a片 | 亚洲成色www久久网站 | 无码任你躁久久久久久久 | 麻豆果冻传媒2021精品传媒一区下载 | 正在播放东北夫妻内射 | 亚洲国产精品久久久久久 | 美女扒开屁股让男人桶 | 亚洲天堂2017无码 | 九九久久精品国产免费看小说 | 亚洲国产精品无码久久久久高潮 | 国产亚洲欧美在线专区 | 国产亚洲精品久久久久久国模美 | 疯狂三人交性欧美 | 四虎国产精品一区二区 | 狠狠躁日日躁夜夜躁2020 | 国产高清av在线播放 | 2020最新国产自产精品 | aⅴ亚洲 日韩 色 图网站 播放 | 男人的天堂2018无码 | aⅴ在线视频男人的天堂 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲欧美色中文字幕在线 | 精品国精品国产自在久国产87 | 一本一道久久综合久久 | 无码乱肉视频免费大全合集 | 野狼第一精品社区 | 成人免费视频视频在线观看 免费 | 樱花草在线播放免费中文 | 亚洲国产成人a精品不卡在线 | 国産精品久久久久久久 | 成人综合网亚洲伊人 | 国产成人无码一二三区视频 | 国语自产偷拍精品视频偷 | 亚洲欧美中文字幕5发布 | 国产精品人人爽人人做我的可爱 | 人人妻人人澡人人爽人人精品浪潮 | 欧美日韩精品 | 国产亚洲日韩欧美另类第八页 | 精品熟女少妇av免费观看 | 成人免费视频视频在线观看 免费 | 国产9 9在线 | 中文 | 又粗又大又硬毛片免费看 | 国内精品九九久久久精品 | 久久综合色之久久综合 | 日韩av激情在线观看 | 欧美成人高清在线播放 | 1000部夫妻午夜免费 | 国产乱人伦偷精品视频 | 久久午夜夜伦鲁鲁片无码免费 | 免费人成在线视频无码 | 亚洲中文字幕乱码av波多ji | 天堂亚洲免费视频 | 日韩av无码中文无码电影 | 亚洲综合在线一区二区三区 | 国产精品爱久久久久久久 | 亚洲精品www久久久 | 精品一区二区不卡无码av | 无码一区二区三区在线观看 | 骚片av蜜桃精品一区 | 亚洲欧美精品伊人久久 | 免费国产黄网站在线观看 | 宝宝好涨水快流出来免费视频 | 国产香蕉97碰碰久久人人 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产黑色丝袜在线播放 | 亚洲狠狠色丁香婷婷综合 | 99麻豆久久久国产精品免费 | 精品久久久久久人妻无码中文字幕 | 久久久精品国产sm最大网站 | 日本免费一区二区三区最新 | 欧美熟妇另类久久久久久不卡 | 日日鲁鲁鲁夜夜爽爽狠狠 | 成年美女黄网站色大免费视频 | 2020久久超碰国产精品最新 | 欧美老妇交乱视频在线观看 | 国产精品福利视频导航 | 高潮喷水的毛片 | 天堂一区人妻无码 | 中文字幕亚洲情99在线 | 国产成人精品视频ⅴa片软件竹菊 | 成人一在线视频日韩国产 | 国产肉丝袜在线观看 | 性开放的女人aaa片 | 欧美日韩色另类综合 | 国产精品无套呻吟在线 | 国产精品无码永久免费888 | 国产99久久精品一区二区 | 国产绳艺sm调教室论坛 | 国产精品多人p群无码 | 狂野欧美性猛xxxx乱大交 | 天堂无码人妻精品一区二区三区 | www国产亚洲精品久久久日本 | 东北女人啪啪对白 | 欧美日韩亚洲国产精品 | 波多野结衣高清一区二区三区 | 撕开奶罩揉吮奶头视频 | 欧美人与善在线com | 久久久国产一区二区三区 | 成人亚洲精品久久久久软件 | 欧美日韩色另类综合 | 精品国产乱码久久久久乱码 | 99视频精品全部免费免费观看 | 一个人看的www免费视频在线观看 | 精品国产一区二区三区四区 | 久久99精品国产.久久久久 | 草草网站影院白丝内射 | 日本熟妇人妻xxxxx人hd | 欧美性猛交xxxx富婆 | 亚洲色成人中文字幕网站 | 色一情一乱一伦一区二区三欧美 | 极品尤物被啪到呻吟喷水 | 亚洲va中文字幕无码久久不卡 | 99国产精品白浆在线观看免费 | 牲欲强的熟妇农村老妇女 | 色综合久久久无码中文字幕 | 亚洲自偷精品视频自拍 | 噜噜噜亚洲色成人网站 | 精品久久久久久人妻无码中文字幕 | 亚洲国产精品一区二区美利坚 | 精品国产一区二区三区四区 | 伊人久久大香线蕉亚洲 | 97色伦图片97综合影院 | 亚洲人成无码网www | 无码人妻黑人中文字幕 | 精品人妻人人做人人爽夜夜爽 | 99视频精品全部免费免费观看 | 亚洲国产精品无码一区二区三区 | 97色伦图片97综合影院 | 成人三级无码视频在线观看 | 强辱丰满人妻hd中文字幕 | 亚洲精品一区二区三区婷婷月 | 自拍偷自拍亚洲精品被多人伦好爽 | 欧美刺激性大交 | 亚洲国产午夜精品理论片 | 欧美黑人巨大xxxxx | 国产成人无码午夜视频在线观看 | 亚洲va欧美va天堂v国产综合 | 日本精品少妇一区二区三区 | 精品成在人线av无码免费看 | 国产做国产爱免费视频 | 女高中生第一次破苞av | 狠狠cao日日穞夜夜穞av | 国产精品无码一区二区三区不卡 | av香港经典三级级 在线 | 久久精品女人的天堂av | 丝袜美腿亚洲一区二区 | 色欲综合久久中文字幕网 | 国产熟妇另类久久久久 | 午夜理论片yy44880影院 | 欧美xxxxx精品 | 精品水蜜桃久久久久久久 | 色婷婷香蕉在线一区二区 | 亚洲综合在线一区二区三区 | 国产激情一区二区三区 | 久久久久久亚洲精品a片成人 | 亚洲中文字幕久久无码 | 99久久精品国产一区二区蜜芽 | 国产农村妇女高潮大叫 | 亚洲人成网站在线播放942 | 亚洲欧洲日本综合aⅴ在线 | 日本一卡2卡3卡四卡精品网站 | 日韩成人一区二区三区在线观看 | 中文字幕精品av一区二区五区 | 精品成人av一区二区三区 | 搡女人真爽免费视频大全 | 精品无人区无码乱码毛片国产 | 国产人妖乱国产精品人妖 | 男人和女人高潮免费网站 | 国产精品二区一区二区aⅴ污介绍 | 国产国语老龄妇女a片 | 成人综合网亚洲伊人 | 久久熟妇人妻午夜寂寞影院 | 国产色在线 | 国产 | 精品人妻av区 | 精品亚洲成av人在线观看 | 成人无码精品1区2区3区免费看 | 国内揄拍国内精品少妇国语 | 黑人大群体交免费视频 | 精品久久久久久亚洲精品 | 国产sm调教视频在线观看 | 日本一区二区更新不卡 | 疯狂三人交性欧美 | 欧美日韩人成综合在线播放 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲欧美日韩成人高清在线一区 | 好屌草这里只有精品 | 日本熟妇人妻xxxxx人hd | 国产无遮挡又黄又爽又色 | 4hu四虎永久在线观看 | 俄罗斯老熟妇色xxxx | 精品国产一区二区三区四区在线看 | а天堂中文在线官网 | 成熟人妻av无码专区 | 久久久久亚洲精品男人的天堂 | 国产av无码专区亚洲a∨毛片 | 成人无码视频在线观看网站 | 国内少妇偷人精品视频 | 5858s亚洲色大成网站www | 国产精品久免费的黄网站 | 99精品国产综合久久久久五月天 | 日本高清一区免费中文视频 | 麻豆md0077饥渴少妇 | 国产成人无码一二三区视频 | 欧美性生交活xxxxxdddd | 色 综合 欧美 亚洲 国产 | 野狼第一精品社区 | 永久免费精品精品永久-夜色 | 国产精品亚洲综合色区韩国 | 狠狠躁日日躁夜夜躁2020 | 色欲久久久天天天综合网精品 | 久久综合狠狠综合久久综合88 | 成人三级无码视频在线观看 | 正在播放东北夫妻内射 | 88国产精品欧美一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 亚洲欧美精品aaaaaa片 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲国产欧美国产综合一区 | 中文字幕精品av一区二区五区 | 亚洲色欲色欲天天天www | 亚洲色大成网站www | 亚洲一区二区三区国产精华液 | 国产成人一区二区三区别 | 欧美老熟妇乱xxxxx | 2019nv天堂香蕉在线观看 | 亚洲一区av无码专区在线观看 | 亚洲熟女一区二区三区 | 午夜嘿嘿嘿影院 | 中文毛片无遮挡高清免费 | 日韩成人一区二区三区在线观看 | 亚洲精品久久久久久一区二区 | 丰满肥臀大屁股熟妇激情视频 | 亚洲精品一区二区三区四区五区 | 国产超级va在线观看视频 | 婷婷色婷婷开心五月四房播播 | 久久综合九色综合欧美狠狠 | 日本精品久久久久中文字幕 | 婷婷五月综合激情中文字幕 | 欧美精品无码一区二区三区 | av无码电影一区二区三区 | 俺去俺来也在线www色官网 | 色欲久久久天天天综合网精品 | 亚洲精品久久久久久久久久久 | 国产亚洲视频中文字幕97精品 | 国产在线一区二区三区四区五区 | 一本久久a久久精品亚洲 | 国产激情精品一区二区三区 | 女人被男人爽到呻吟的视频 | aⅴ在线视频男人的天堂 | 成熟女人特级毛片www免费 | 无码一区二区三区在线观看 | 亚洲爆乳精品无码一区二区三区 | 中文字幕无线码免费人妻 | 中文字幕人妻无码一区二区三区 | 国产综合色产在线精品 | 日本爽爽爽爽爽爽在线观看免 | 久久精品中文字幕大胸 | 内射巨臀欧美在线视频 | 精品久久久久久人妻无码中文字幕 | 扒开双腿吃奶呻吟做受视频 | 亚洲色欲色欲欲www在线 | 久久人妻内射无码一区三区 | 欧美日韩在线亚洲综合国产人 | 中国大陆精品视频xxxx | 老头边吃奶边弄进去呻吟 | a片免费视频在线观看 | 成人无码视频免费播放 | 人妻无码久久精品人妻 | 好屌草这里只有精品 | 少妇太爽了在线观看 | 日韩成人一区二区三区在线观看 | 国产莉萝无码av在线播放 | 激情爆乳一区二区三区 | 2019nv天堂香蕉在线观看 | 成 人 网 站国产免费观看 | 鲁大师影院在线观看 | 亚洲日韩av片在线观看 | 色综合久久久无码网中文 | 99久久精品无码一区二区毛片 | 在线亚洲高清揄拍自拍一品区 | 欧美精品无码一区二区三区 | 亚洲色无码一区二区三区 | 扒开双腿疯狂进出爽爽爽视频 | 国产艳妇av在线观看果冻传媒 | 伊人色综合久久天天小片 | 久久精品人人做人人综合 | 久久aⅴ免费观看 | 99精品无人区乱码1区2区3区 | 疯狂三人交性欧美 | 欧美性猛交xxxx富婆 | 丰满肥臀大屁股熟妇激情视频 | 久久精品丝袜高跟鞋 | 婷婷色婷婷开心五月四房播播 | 国产亚洲视频中文字幕97精品 | 少妇人妻偷人精品无码视频 | 人人妻人人澡人人爽欧美一区 | 日韩人妻少妇一区二区三区 | 成在人线av无码免费 | 亚洲一区二区三区偷拍女厕 | 日韩欧美中文字幕在线三区 | 狠狠色色综合网站 | 午夜免费福利小电影 | 国产亚洲精品久久久久久国模美 | 女人被男人躁得好爽免费视频 | 久久精品国产一区二区三区 | 午夜成人1000部免费视频 | 中文精品无码中文字幕无码专区 | 疯狂三人交性欧美 | 亚洲人亚洲人成电影网站色 | 久久久久久亚洲精品a片成人 | 免费人成在线观看网站 | 欧美熟妇另类久久久久久不卡 | 亚洲综合无码一区二区三区 | 国产另类ts人妖一区二区 | 亚洲精品一区国产 | 樱花草在线播放免费中文 | 熟妇激情内射com | 久久久久久久久蜜桃 | 国产精品久久久久久亚洲毛片 | 欧美国产日韩亚洲中文 | 国产97人人超碰caoprom | 日韩精品成人一区二区三区 | 久久zyz资源站无码中文动漫 | 免费观看激色视频网站 | 中文字幕中文有码在线 | 日本护士毛茸茸高潮 | 欧美丰满少妇xxxx性 | 夜夜夜高潮夜夜爽夜夜爰爰 | 激情爆乳一区二区三区 | 丰满少妇人妻久久久久久 | 夜精品a片一区二区三区无码白浆 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲成av人在线观看网址 | 国产乱人伦av在线无码 | 男女性色大片免费网站 | 在线视频网站www色 | aⅴ在线视频男人的天堂 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产av一区二区精品久久凹凸 | 亚洲春色在线视频 | 精品人妻av区 | 婷婷六月久久综合丁香 | 亚洲国产综合无码一区 | 免费无码午夜福利片69 | 国产精品久久久久久亚洲影视内衣 | 婷婷丁香五月天综合东京热 | 亚洲欧美日韩国产精品一区二区 | 男人的天堂2018无码 | 男女爱爱好爽视频免费看 | 久久综合网欧美色妞网 | 久久久久久久久888 | 国内精品人妻无码久久久影院 | 无码国产乱人伦偷精品视频 | 欧美日韩在线亚洲综合国产人 | 无码精品人妻一区二区三区av | 麻豆精产国品 | 午夜精品久久久久久久 | 亚洲色大成网站www | 中文字幕无线码 | 国产疯狂伦交大片 | 露脸叫床粗话东北少妇 | 激情综合激情五月俺也去 | 夜夜夜高潮夜夜爽夜夜爰爰 | 强辱丰满人妻hd中文字幕 | 日本一卡2卡3卡四卡精品网站 | 正在播放东北夫妻内射 | 97人妻精品一区二区三区 | 欧美精品在线观看 | 性色欲情网站iwww九文堂 | 在线观看欧美一区二区三区 | 少妇久久久久久人妻无码 | 国产av剧情md精品麻豆 | 国产激情艳情在线看视频 | 天天av天天av天天透 | 久久久久亚洲精品中文字幕 | 亚洲乱码中文字幕在线 | 麻花豆传媒剧国产免费mv在线 | 粉嫩少妇内射浓精videos | 欧美 亚洲 国产 另类 | 人人妻人人澡人人爽欧美一区 | 无码一区二区三区在线观看 | 成人亚洲精品久久久久软件 | 亚洲 高清 成人 动漫 | 成人精品视频一区二区三区尤物 | 精品久久8x国产免费观看 | 精品水蜜桃久久久久久久 | 中文字幕亚洲情99在线 | 国产三级久久久精品麻豆三级 | 国产精品对白交换视频 | 国产情侣作爱视频免费观看 | 亚洲a无码综合a国产av中文 | 久久久久久久久888 | 久久午夜无码鲁丝片秋霞 | 熟妇人妻中文av无码 | 国产sm调教视频在线观看 | 亚洲国产精品无码久久久久高潮 | 免费国产黄网站在线观看 | 亚洲人亚洲人成电影网站色 | 免费观看激色视频网站 | 乱人伦人妻中文字幕无码 | 成人无码影片精品久久久 | 亚洲中文字幕无码中字 | 激情国产av做激情国产爱 | 国产区女主播在线观看 | 久久精品国产精品国产精品污 | 亚洲成在人网站无码天堂 | 人人爽人人澡人人高潮 | 日本熟妇人妻xxxxx人hd | 九九热爱视频精品 | 青青青爽视频在线观看 | 国产区女主播在线观看 | 狠狠色丁香久久婷婷综合五月 | 成人无码视频免费播放 | 国产色在线 | 国产 | 国产片av国语在线观看 | 性欧美videos高清精品 | 婷婷五月综合激情中文字幕 | 人妻互换免费中文字幕 | 亚洲精品国偷拍自产在线麻豆 | 日韩人妻无码中文字幕视频 | 国产偷自视频区视频 | 国产精品沙发午睡系列 | 国产舌乚八伦偷品w中 | 亚洲精品国产品国语在线观看 | 欧美成人免费全部网站 | 亚洲中文字幕av在天堂 | 国产手机在线αⅴ片无码观看 | 国产免费观看黄av片 | 国产内射老熟女aaaa | 又紧又大又爽精品一区二区 | 国产精品99久久精品爆乳 | 欧美freesex黑人又粗又大 | 内射爽无广熟女亚洲 | 亚洲精品一区国产 | 欧美日本日韩 | 中文字幕日韩精品一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 国产午夜无码视频在线观看 | 成人免费视频视频在线观看 免费 | 少妇被粗大的猛进出69影院 | 国产精品人妻一区二区三区四 | 久久人人爽人人爽人人片av高清 | 国产一区二区三区四区五区加勒比 | 四十如虎的丰满熟妇啪啪 | 好屌草这里只有精品 | 荫蒂被男人添的好舒服爽免费视频 | 国产亚洲精品久久久久久久 | 国产亚洲美女精品久久久2020 | 亚洲成a人一区二区三区 | 国产va免费精品观看 | 国精产品一品二品国精品69xx | 国产超碰人人爽人人做人人添 | 伊人久久大香线焦av综合影院 | 性做久久久久久久免费看 | 久久亚洲精品成人无码 | 鲁鲁鲁爽爽爽在线视频观看 | 少妇性荡欲午夜性开放视频剧场 | 中文字幕+乱码+中文字幕一区 | 亚洲欧美综合区丁香五月小说 | 久久综合给久久狠狠97色 | 国产人妻精品午夜福利免费 | 日韩av激情在线观看 | 亚洲欧洲日本综合aⅴ在线 | 国产激情综合五月久久 | 国产精品人人妻人人爽 | 内射爽无广熟女亚洲 | 欧美猛少妇色xxxxx | 国产无遮挡吃胸膜奶免费看 | 无码av中文字幕免费放 | 日本一区二区三区免费高清 | 内射爽无广熟女亚洲 | 无码人妻出轨黑人中文字幕 | 日欧一片内射va在线影院 | 夜精品a片一区二区三区无码白浆 | 国产精品久久久久久无码 | 小鲜肉自慰网站xnxx | 国产精品久久精品三级 | 亚洲精品午夜国产va久久成人 | 丰满诱人的人妻3 | 无码人妻出轨黑人中文字幕 | 无码免费一区二区三区 | 成人综合网亚洲伊人 | 成人一在线视频日韩国产 | 精品久久久久久人妻无码中文字幕 | 亚洲成a人片在线观看日本 | 欧美亚洲日韩国产人成在线播放 | 亚洲狠狠婷婷综合久久 | 亚洲精品一区二区三区在线观看 | 国产亚洲精品久久久久久久久动漫 | 国产一精品一av一免费 | 中文字幕久久久久人妻 | 人妻人人添人妻人人爱 | √天堂资源地址中文在线 | 国产无av码在线观看 | 性欧美熟妇videofreesex | 18无码粉嫩小泬无套在线观看 | 人人妻人人澡人人爽人人精品 | 少女韩国电视剧在线观看完整 | 国产午夜视频在线观看 | 久久无码专区国产精品s | 欧美日本免费一区二区三区 | 国产在热线精品视频 | 99久久久无码国产精品免费 | 波多野42部无码喷潮在线 | 婷婷综合久久中文字幕蜜桃三电影 | 麻豆成人精品国产免费 | 亚洲日韩一区二区 | 成人aaa片一区国产精品 | 黑人粗大猛烈进出高潮视频 | 国产成人久久精品流白浆 | 综合激情五月综合激情五月激情1 | 成年美女黄网站色大免费全看 | 日本爽爽爽爽爽爽在线观看免 | 激情国产av做激情国产爱 | 国产精品99久久精品爆乳 | 国产精品国产自线拍免费软件 | 爽爽影院免费观看 | 亚洲热妇无码av在线播放 | 18精品久久久无码午夜福利 | 久久熟妇人妻午夜寂寞影院 | 欧美国产日韩亚洲中文 | 久久久精品456亚洲影院 | 蜜桃视频韩日免费播放 | 丰满诱人的人妻3 | 成年美女黄网站色大免费视频 | 亚洲欧美精品伊人久久 | 97无码免费人妻超级碰碰夜夜 | 天天摸天天透天天添 | 又大又紧又粉嫩18p少妇 | 中文字幕乱码人妻无码久久 | 欧美性生交xxxxx久久久 | 欧美黑人巨大xxxxx | 亚洲人成网站免费播放 | 高清不卡一区二区三区 | 久久久国产精品无码免费专区 | 嫩b人妻精品一区二区三区 | 99久久精品日本一区二区免费 | 久久久久久久久蜜桃 | 久久国产精品二国产精品 | 亚洲国产av美女网站 | 亚洲狠狠色丁香婷婷综合 | 2020最新国产自产精品 | 国产疯狂伦交大片 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产亚洲精品久久久闺蜜 | 国产成人精品无码播放 | 国产免费观看黄av片 | 无遮挡啪啪摇乳动态图 | 伊在人天堂亚洲香蕉精品区 | 中文字幕无码免费久久99 | 国产xxx69麻豆国语对白 | 97久久国产亚洲精品超碰热 | 国产精品a成v人在线播放 | 亚洲另类伦春色综合小说 | 一本久道久久综合狠狠爱 | 亚洲一区二区三区在线观看网站 | 波多野结衣av一区二区全免费观看 | 少妇被粗大的猛进出69影院 | 欧美老妇与禽交 | 无码午夜成人1000部免费视频 | 亚洲精品欧美二区三区中文字幕 | 欧洲vodafone精品性 | 无码国产色欲xxxxx视频 | 一本一道久久综合久久 | 欧美喷潮久久久xxxxx | 强伦人妻一区二区三区视频18 | 成 人影片 免费观看 | 精品无人国产偷自产在线 | 久久zyz资源站无码中文动漫 | 性生交片免费无码看人 | 亚洲毛片av日韩av无码 | 人妻中文无码久热丝袜 | 夜先锋av资源网站 | 俺去俺来也在线www色官网 | 精品无码一区二区三区的天堂 | 免费观看激色视频网站 | 久久99精品国产麻豆 | 免费看少妇作爱视频 | 中文字幕无码av波多野吉衣 | 亚洲精品久久久久久一区二区 | 图片区 小说区 区 亚洲五月 | 人人澡人摸人人添 | 中文字幕乱码人妻无码久久 | 久久99精品久久久久久 | 大肉大捧一进一出好爽视频 | 7777奇米四色成人眼影 | 人妻中文无码久热丝袜 | 欧美一区二区三区 | 日本护士xxxxhd少妇 | 亚洲成av人片在线观看无码不卡 | 丰满肥臀大屁股熟妇激情视频 | 好男人社区资源 | 久久久亚洲欧洲日产国码αv | 老司机亚洲精品影院 | 国产高潮视频在线观看 | 熟妇人妻无乱码中文字幕 | 国产性生大片免费观看性 | 一本久久伊人热热精品中文字幕 | 国产97人人超碰caoprom | 亚洲经典千人经典日产 | 又粗又大又硬又长又爽 | 对白脏话肉麻粗话av | 久久视频在线观看精品 | 国产乱人偷精品人妻a片 | 国产超碰人人爽人人做人人添 | 乱人伦中文视频在线观看 | 亚洲の无码国产の无码影院 | 四虎国产精品免费久久 | 精品国产一区av天美传媒 | 亚洲码国产精品高潮在线 | 国产成人无码专区 | 久久久久99精品成人片 | 帮老师解开蕾丝奶罩吸乳网站 | 在线观看欧美一区二区三区 | 国产免费无码一区二区视频 | 久久99精品久久久久久动态图 | 欧美三级a做爰在线观看 | 国内揄拍国内精品人妻 | www国产亚洲精品久久网站 | 日韩欧美中文字幕公布 | 人人妻人人澡人人爽精品欧美 | 亚洲国产精品一区二区美利坚 | 欧美野外疯狂做受xxxx高潮 | 偷窥日本少妇撒尿chinese | 欧美xxxxx精品 | 日韩亚洲欧美精品综合 | 国产免费久久久久久无码 | 中文字幕色婷婷在线视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精品亚洲一区二区三区喷水 | 国产精品a成v人在线播放 | 国产成人一区二区三区在线观看 | 蜜臀av无码人妻精品 | 亚洲精品一区二区三区大桥未久 | 人妻少妇精品视频专区 | 成人影院yy111111在线观看 | 久久精品中文字幕一区 | 丰满人妻精品国产99aⅴ | 亚洲自偷自拍另类第1页 | 国产亚洲美女精品久久久2020 | 少妇高潮一区二区三区99 | 亚洲国产一区二区三区在线观看 | 狠狠色丁香久久婷婷综合五月 | 亚洲а∨天堂久久精品2021 | 无套内谢的新婚少妇国语播放 | 青青草原综合久久大伊人精品 | 亚洲综合色区中文字幕 | 精品 日韩 国产 欧美 视频 | 国产精品久久久久影院嫩草 | 色综合久久久无码网中文 | 国产av久久久久精东av | 欧美三级a做爰在线观看 | 亚洲一区二区三区无码久久 | 免费无码的av片在线观看 | 国产sm调教视频在线观看 | 久久综合久久自在自线精品自 | 国产特级毛片aaaaaaa高清 | 国产av久久久久精东av | 久久99精品久久久久婷婷 | а√天堂www在线天堂小说 | 美女扒开屁股让男人桶 | 午夜福利试看120秒体验区 | 特黄特色大片免费播放器图片 | 性色av无码免费一区二区三区 | 久久久www成人免费毛片 | 国产亚洲精品久久久久久国模美 | 又大又硬又黄的免费视频 | 日韩欧美中文字幕公布 | 激情五月综合色婷婷一区二区 | 久青草影院在线观看国产 | 久久精品一区二区三区四区 | av香港经典三级级 在线 | 无码国模国产在线观看 | 亚洲欧美国产精品专区久久 | 亚洲国产精品一区二区第一页 | 午夜福利试看120秒体验区 | 成年美女黄网站色大免费全看 | 精品亚洲韩国一区二区三区 | 中文无码伦av中文字幕 | 暴力强奷在线播放无码 | 欧美第一黄网免费网站 | 精品人妻人人做人人爽夜夜爽 | 亚洲欧美日韩成人高清在线一区 | 无码人中文字幕 | 日韩人妻无码一区二区三区久久99 | 日本成熟视频免费视频 | а√资源新版在线天堂 | 中文字幕无码视频专区 | 欧美野外疯狂做受xxxx高潮 | 亚洲成色在线综合网站 | 中文字幕乱码人妻二区三区 | 国产高清不卡无码视频 | 亚洲gv猛男gv无码男同 | 乱人伦人妻中文字幕无码久久网 | 日本一本二本三区免费 | 日产精品高潮呻吟av久久 | 激情内射亚州一区二区三区爱妻 | 久久婷婷五月综合色国产香蕉 | 欧美黑人性暴力猛交喷水 | 中文字幕无码视频专区 | 国产深夜福利视频在线 | 麻豆成人精品国产免费 | 99久久婷婷国产综合精品青草免费 | 中文字幕av伊人av无码av | 在线观看国产一区二区三区 | 久久精品女人天堂av免费观看 | 欧美日韩精品 | 人人妻人人澡人人爽欧美一区 | 人人妻人人澡人人爽欧美一区九九 | 四虎影视成人永久免费观看视频 | 一个人看的www免费视频在线观看 | 99久久久国产精品无码免费 | 色窝窝无码一区二区三区色欲 | 大色综合色综合网站 | 国产特级毛片aaaaaaa高清 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲色无码一区二区三区 | 免费人成网站视频在线观看 | 无码人妻丰满熟妇区五十路百度 | 图片小说视频一区二区 | 亚洲综合色区中文字幕 | 四十如虎的丰满熟妇啪啪 | 粗大的内捧猛烈进出视频 | 窝窝午夜理论片影院 | 国产精品久久久久9999小说 | 国产艳妇av在线观看果冻传媒 | 亚洲成av人片天堂网无码】 | 亚洲狠狠婷婷综合久久 | 国产免费观看黄av片 | 领导边摸边吃奶边做爽在线观看 | 日本xxxx色视频在线观看免费 | 国产深夜福利视频在线 | 伊在人天堂亚洲香蕉精品区 | 两性色午夜视频免费播放 | 少妇无码av无码专区在线观看 | 亚洲精品成人av在线 | 欧美野外疯狂做受xxxx高潮 | 97色伦图片97综合影院 | 一本色道久久综合狠狠躁 | 亚欧洲精品在线视频免费观看 | 老熟妇仑乱视频一区二区 | 少妇无套内谢久久久久 | 成人无码视频在线观看网站 | 中文亚洲成a人片在线观看 | 少妇久久久久久人妻无码 | 国产真人无遮挡作爱免费视频 | 亚洲欧洲中文日韩av乱码 | 熟女体下毛毛黑森林 | 国产成人无码av片在线观看不卡 | 亚洲国产成人a精品不卡在线 | 国产国产精品人在线视 | 国产成人无码午夜视频在线观看 | 少妇激情av一区二区 | 强开小婷嫩苞又嫩又紧视频 | 鲁一鲁av2019在线 | 999久久久国产精品消防器材 | 久久久久免费看成人影片 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲色欲久久久综合网东京热 | 爆乳一区二区三区无码 | 国产精品亚洲专区无码不卡 | 狠狠cao日日穞夜夜穞av | 亚洲自偷自偷在线制服 | 久久99精品久久久久久 | 亚洲娇小与黑人巨大交 | 欧美日韩一区二区三区自拍 | 日韩欧美中文字幕在线三区 | 蜜臀av在线播放 久久综合激激的五月天 | 99久久婷婷国产综合精品青草免费 | 国产精品igao视频网 | 一区二区三区乱码在线 | 欧洲 | 日韩人妻少妇一区二区三区 | 伦伦影院午夜理论片 | 国产成人综合在线女婷五月99播放 | 鲁大师影院在线观看 | 桃花色综合影院 | 亚洲国精产品一二二线 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品无套呻吟在线 | 蜜桃视频韩日免费播放 | 国产九九九九九九九a片 | 亚洲s码欧洲m码国产av | 中国女人内谢69xxxx | 亚洲人成影院在线无码按摩店 | 娇妻被黑人粗大高潮白浆 | 久久99精品久久久久久动态图 | 西西人体www44rt大胆高清 | 亚洲天堂2017无码 | 亚洲成色在线综合网站 | 国产无遮挡又黄又爽免费视频 | 无套内射视频囯产 | 日产精品高潮呻吟av久久 | 婷婷五月综合缴情在线视频 | 亚洲精品综合一区二区三区在线 | 300部国产真实乱 | 国产精品久久久久9999小说 | 99久久人妻精品免费一区 | 青草青草久热国产精品 | 久久午夜无码鲁丝片秋霞 | 牛和人交xxxx欧美 | 丰满少妇女裸体bbw | 亚洲色欲久久久综合网东京热 | 男女性色大片免费网站 | 一个人看的视频www在线 | 午夜精品一区二区三区在线观看 | 午夜男女很黄的视频 | 女人被男人躁得好爽免费视频 | 2020久久香蕉国产线看观看 | 日本xxxx色视频在线观看免费 | 国产在线精品一区二区高清不卡 | 伊人久久婷婷五月综合97色 | 无码人妻av免费一区二区三区 | 日本高清一区免费中文视频 | 国产三级久久久精品麻豆三级 | 成人女人看片免费视频放人 | 熟妇人妻激情偷爽文 | 亚洲一区二区三区在线观看网站 | 精品国精品国产自在久国产87 | 国产精品国产三级国产专播 | 国产综合在线观看 | 精品成人av一区二区三区 | 老熟女重囗味hdxx69 | 天天燥日日燥 | 日日摸日日碰夜夜爽av | 国产综合色产在线精品 | 欧美性生交xxxxx久久久 | 精品无码一区二区三区爱欲 | 午夜成人1000部免费视频 | 99久久亚洲精品无码毛片 | 无码人妻丰满熟妇区毛片18 | 国产艳妇av在线观看果冻传媒 | 精品久久久无码人妻字幂 | 国产9 9在线 | 中文 | 亚洲综合色区中文字幕 | 色噜噜亚洲男人的天堂 | 日本精品少妇一区二区三区 | 久久久久久九九精品久 | 精品久久久无码人妻字幂 | 国产精品香蕉在线观看 | 2019nv天堂香蕉在线观看 | 亚洲午夜福利在线观看 | 国产亚洲视频中文字幕97精品 | 红桃av一区二区三区在线无码av | 无码人妻出轨黑人中文字幕 | 亚洲日韩av一区二区三区中文 | 亚洲成色在线综合网站 | 色五月五月丁香亚洲综合网 | 狠狠cao日日穞夜夜穞av | 夜夜高潮次次欢爽av女 | 奇米影视7777久久精品 | 日韩精品无码免费一区二区三区 | 亚洲无人区午夜福利码高清完整版 | 久久99久久99精品中文字幕 | 理论片87福利理论电影 | 男女作爱免费网站 | 荫蒂添的好舒服视频囗交 | 亚洲a无码综合a国产av中文 | 久久久中文字幕日本无吗 | 亚洲中文字幕无码中字 | 国产精品第一区揄拍无码 | 中文字幕无码免费久久99 | 黄网在线观看免费网站 | 精品偷拍一区二区三区在线看 | 国产99久久精品一区二区 | 日本精品久久久久中文字幕 | 无码人妻出轨黑人中文字幕 | 久久精品中文字幕一区 | 国内综合精品午夜久久资源 | 中文字幕精品av一区二区五区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产激情无码一区二区 | 亚洲熟妇自偷自拍另类 | 国产av一区二区三区最新精品 | 中文精品无码中文字幕无码专区 | 亚洲一区av无码专区在线观看 | 精品国产一区二区三区四区在线看 | 色 综合 欧美 亚洲 国产 | 青青青爽视频在线观看 | 色窝窝无码一区二区三区色欲 | 国产av久久久久精东av | 亚洲aⅴ无码成人网站国产app | 麻豆果冻传媒2021精品传媒一区下载 | 无码人妻久久一区二区三区不卡 | 欧美性生交活xxxxxdddd | 天天躁日日躁狠狠躁免费麻豆 | 欧美性生交活xxxxxdddd | 国产免费久久精品国产传媒 | 四虎4hu永久免费 | 国产人妻精品一区二区三区不卡 | 亚洲另类伦春色综合小说 | 人妻少妇被猛烈进入中文字幕 | 小sao货水好多真紧h无码视频 | 人妻少妇精品无码专区动漫 | 欧美国产亚洲日韩在线二区 | 天堂亚洲免费视频 | 性欧美牲交在线视频 | 国产精品a成v人在线播放 | 在教室伦流澡到高潮hnp视频 | 天干天干啦夜天干天2017 | 无码人妻出轨黑人中文字幕 | 亚洲综合无码久久精品综合 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美 日韩 亚洲 在线 | 色五月丁香五月综合五月 | 国产av一区二区精品久久凹凸 | 成人性做爰aaa片免费看不忠 | 色综合久久久久综合一本到桃花网 | 无码国产激情在线观看 | 少妇太爽了在线观看 | 久久精品99久久香蕉国产色戒 | 曰韩少妇内射免费播放 | 婷婷五月综合缴情在线视频 | 波多野42部无码喷潮在线 | 婷婷丁香五月天综合东京热 | 无遮挡啪啪摇乳动态图 | 俺去俺来也在线www色官网 | 免费观看的无遮挡av | 高清无码午夜福利视频 | 美女黄网站人色视频免费国产 | 亚洲 高清 成人 动漫 | 国产人成高清在线视频99最全资源 | 荫蒂添的好舒服视频囗交 | 国产香蕉尹人综合在线观看 | 国内精品人妻无码久久久影院蜜桃 | 国产无套粉嫩白浆在线 | 奇米影视7777久久精品 | 亚洲 a v无 码免 费 成 人 a v | ass日本丰满熟妇pics | 中文字幕色婷婷在线视频 | 青青久在线视频免费观看 | 俺去俺来也www色官网 | 精品久久久久香蕉网 | 最近的中文字幕在线看视频 | 久久精品99久久香蕉国产色戒 | 偷窥日本少妇撒尿chinese | 亚洲高清偷拍一区二区三区 | 一本无码人妻在中文字幕免费 | 中文字幕 亚洲精品 第1页 | 日日摸夜夜摸狠狠摸婷婷 | 国产成人无码av一区二区 | 国产成人无码区免费内射一片色欲 | 久久aⅴ免费观看 | 无套内射视频囯产 | 内射后入在线观看一区 | 欧美变态另类xxxx | 国产精品久久久久影院嫩草 | 99久久人妻精品免费一区 | 荫蒂被男人添的好舒服爽免费视频 | 国语自产偷拍精品视频偷 | 成人综合网亚洲伊人 | 亚洲 欧美 激情 小说 另类 | 久久久久成人精品免费播放动漫 | 天下第一社区视频www日本 | 成人欧美一区二区三区黑人免费 | 国产超级va在线观看视频 | 精品久久综合1区2区3区激情 | 久久精品国产99久久6动漫 | 老熟妇乱子伦牲交视频 | 久久久久成人片免费观看蜜芽 | 欧美日韩视频无码一区二区三 | 国产香蕉尹人视频在线 | 国产内射老熟女aaaa | 97人妻精品一区二区三区 | 亚洲精品一区二区三区在线 | 国产无遮挡又黄又爽免费视频 | 久久精品人妻少妇一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 久久精品中文闷骚内射 | 久青草影院在线观看国产 | 国产激情综合五月久久 | 377p欧洲日本亚洲大胆 | 色综合久久久无码中文字幕 | 欧美性生交活xxxxxdddd | 久久综合久久自在自线精品自 | 中文字幕日产无线码一区 | 精品国产一区av天美传媒 | 亚洲va欧美va天堂v国产综合 | 国语自产偷拍精品视频偷 | 中文字幕无码av波多野吉衣 | 国产乱子伦视频在线播放 | 色欲久久久天天天综合网精品 | 中文字幕久久久久人妻 | 午夜福利试看120秒体验区 | 久久久中文字幕日本无吗 | 日本又色又爽又黄的a片18禁 | 97夜夜澡人人双人人人喊 | 中文精品久久久久人妻不卡 | 国产熟妇高潮叫床视频播放 | 综合网日日天干夜夜久久 | 国产一区二区三区影院 | 亚洲欧美精品aaaaaa片 | 久久国产36精品色熟妇 | 欧美 丝袜 自拍 制服 另类 | 亚洲精品国偷拍自产在线麻豆 | 无码av免费一区二区三区试看 | 国产精品久久久久久亚洲影视内衣 | 亚洲の无码国产の无码影院 | 成人三级无码视频在线观看 | 熟女少妇在线视频播放 | 国内综合精品午夜久久资源 | av在线亚洲欧洲日产一区二区 | 日日摸日日碰夜夜爽av | 欧美成人午夜精品久久久 | 国产色精品久久人妻 | 亚洲国产欧美国产综合一区 | 双乳奶水饱满少妇呻吟 | 精品无码国产自产拍在线观看蜜 | 久久午夜无码鲁丝片 | 熟妇人妻无码xxx视频 | 漂亮人妻洗澡被公强 日日躁 | 大乳丰满人妻中文字幕日本 | 国産精品久久久久久久 | 日本高清一区免费中文视频 | 无码国产色欲xxxxx视频 | 又大又黄又粗又爽的免费视频 |