日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[学习笔记] 伸展树splay详解+全套模板+例题[Luogu P3369 【模板】普通平衡树]

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [学习笔记] 伸展树splay详解+全套模板+例题[Luogu P3369 【模板】普通平衡树] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 引入概念
  • 全套模板
    • 變量聲明
    • update
    • ==rotate旋轉==
    • splay操作
    • insert插入
    • delete刪除
    • 查找x的位置
    • 查找第k大
    • 前驅/后繼
  • 極小值-inf和極大值inf的作用
  • 例題:P3369 【模板】普通平衡樹
    • 題目
    • code

聲明一下,許多代碼的注解都在模板代碼里面寫了的,所以正文可能不會很多
其次是splaysplaysplay很多操作treaptreaptreap我都已經詳解過了,只需要掌握不一樣的旋轉板塊即可

引入概念

在這之前大家要了解二叉搜索樹或者treap再或者非旋treap,也可以不了解,我會再次盡全力詳細的給大家講懵splay

二叉搜索樹:是一種數據結構,每個點都存有各自的鍵值,按中序遍歷這棵樹,按鍵值生成的序列是有序的

顯而易見對于給定的序列nnn,它的二叉搜索樹不是唯一的
煮個栗子:123451\ 2\ 3\ 4\ 51?2?3?4?5,就能畫出很多不一樣的二叉搜索樹


伸展樹(Splay Tree),也叫分裂樹,是一種二叉排序樹,它能在O(logn)O(logn)O(logn)內完成插入、查找和刪除操作
它由丹尼爾·斯立特Daniel Sleator 和 羅伯特·恩卓·塔揚Robert Endre Tarjan在1985年發明的

在伸展樹上的一般操作都基于伸展操作:
假設想要對一個二叉查找樹執行一系列的查找操作,為了使整個查找時間更小,被查頻率高的那些條目就應當經常處于靠近樹根的位置
于是想到設計一個簡單方法:
在每次查找之后對樹進行重構,把被查找的條目搬移到離樹根近一些的地方
伸展樹應運而生:
伸展樹是一種自調整形式的二叉查找樹,它會沿著從某個節點到樹根之間的路徑,通過一系列的旋轉把這個節點搬移到樹根去
它的優勢在于不需要記錄用于平衡樹的冗余信息

假設想要對一個二叉查找樹執行一系列的查找操作
為了使整個查找時間更小,被查頻率高的那些條目就應當經常處于靠近樹根的位置
于是想到設計一個簡單方法:
在每次查找之后對樹進行重構,把被查找的條目搬移到離樹根近一些的地方
splay tree應運而生。splay tree是一種自調整形式的二叉查找樹,它會沿著從某個節點到樹根之間的路徑,通過一系列的旋轉把這個節點搬移到樹根去

———————百度百科老師親身授課,講懵一群中華少年

這張圖太好看了,忍不住盜過來


重點的就是模板,模板的原理會在該模板板塊介紹,不要慌~~

全套模板


變量聲明

我用的是結構體treetreetree,方便學習LCTLCTLCT(暴露了) 后面的封裝
tree[i].valtree[i].valtree[i].val:表示該點的值
tree[i].cnttree[i].cnttree[i].cnt:表示該點在樹上的出現次數
tree[i].siztree[i].siztree[i].siz:表示該點的子樹大小,包括自己在內
tree[i].ftree[i].ftree[i].f:表示該點的爸爸(誒真乖)
tree[i].son[2]tree[i].son[2]tree[i].son[2]:表示該點的兩個兒子:son[0]son[0]son[0]左兒子,son[1]son[1]son[1]右兒子


這個沒有什么值得講的,不同的題肯定會有添加或更改,比如最大值就應該寫成
tree[x].maxx=max(tree[tree[x].son[0]].maxx,tree[tree[x].son[1]].maxx,tree[x].val)tree[x].maxx = max(tree[tree[x].son[0]].maxx,tree[tree[x].son[1]].maxx,tree[x].val)tree[x].maxx=max(tree[tree[x].son[0]].maxx,tree[tree[x].son[1]].maxx,tree[x].val)
這里以求和為例

update

void update ( int x ) {tree[x].siz = tree[tree[x].son[0]].siz + tree[tree[x].son[1]].siz + tree[x].cnt; }

rotate旋轉

treaptreaptreap期間我們了解了單旋轉(只旋一次),但是splaysplaysplay則是用雙旋
接著因為是二叉樹,雙旋就分為了兩種情況,直線型旋轉和折線型旋轉


直線型旋轉,即三點成一條直線

這種情況的旋轉規則:先旋轉父親,再旋轉自己


折線型旋轉

這種情況的旋轉規則:旋轉完自己,再旋轉自己(自轉兩次)


總結一張圖:

void rotate ( int x ) {//x是要旋轉的點 int fa = tree[x].f;//x的父親(father縮寫) int Gfa = tree[fa].f;//x的祖父/fa的父親(grandfather縮寫(*^__^*))int k = ( tree[fa].son[1] == x );//x是fa的哪一個兒子 0左兒子 1右兒子if( Gfa) tree[Gfa].son[tree[Gfa].son[1] == fa] = x;//兒子非要當爹 取代了爹原來在祖父下的位置tree[x].f = Gfa; tree[fa].son[k] = tree[x].son[k ^ 1];if( tree[x].son[k ^ 1] ) tree[tree[x].son[k ^ 1]].f = fa;tree[x].son[k ^ 1] = fa;tree[fa].f = x;update ( fa );//別忘了更新信息update ( x ); }//0^1=1 1^1=0 其實也可以用取反(!)代替

splay操作

我們使用雙旋的做法,因為如果單旋將xxx旋到想要的位置,毒瘤會卡到我們n2n^2n2
那么如果想旋轉到根的話,可以給第二個參數傳0

void splay ( int x, int goal ) {//將x旋轉到goal的兒子 如果goal是0意味著將x轉到根while ( tree[x].f != goal ) {int fa = tree[x].f, Gfa = tree[fa].f;if ( Gfa != goal )//如果fa不是根節點就是兩類(直線 折線)旋轉( ( tree[Gfa].son[0] == fa ) ^ ( tree[fa].son[0] == x ) ) ? rotate ( x ) : rotate ( fa );//有點技巧但也很好理解 前兩坨^=0就是直線的意思rotate ( x );}if ( ! goal )root = x;//如果goal是0 將根節點更新為x }

insert插入

先用個動圖直觀感受一下

treaptreaptreap是孿生兄弟,從根開始,根據值的大小比較判斷是往左走(x<tree[root].valx<tree[root].valx<tree[root].val)還是往右走(x>tree[root].valx>tree[root].valx>tree[root].val)

void insert ( int x ) {int u = root, fa = 0;//當前位置u及u的父節點fwhile ( u && tree[u].val != x ) {//仍有點且并未移動到想要的值 fa = u;u = tree[u].son[x > tree[u].val];//x大于當前點的值就在右兒子里面找 否則向左找 }if ( u ) //已經建過x這個值的位置了 tree[u].cnt ++;else {u = ++ Size;//新節點的位置 if ( fa ) tree[fa].son[x > tree[fa].val] = u;tree[u].son[0] = tree[u].son[1] = 0;//新點目前肯定沒有兒子tree[u].val = x;tree[u].f = fa;tree[u].cnt = tree[u].siz = 1;}splay ( u, 0 );//把當前位置移到根保證結構平衡 因為前面更改了子樹大小必須splay去update保證siz的正確 }

delete刪除

思路是首先分別找到xxx的前驅p1p1p1和后繼p2p2p2,那么在當前樹上就滿足p1<x<p2p1<x<p2p1<x<p2并且中間沒有其它數
很妙的就是我們把p1p1p1旋轉到根,此時所有值比p1p1p1的都在右子樹,然后把p2p2p2旋轉到p1p1p1的兒子處,此時p2p2p2的左兒子就是xxx且只有一個,因為p2p2p2的左子樹要滿足>p1>p1>p1<p2<p2<p2,顯而易見因為定義這里面只能插xxx,那么直接對p2p2p2的左子樹進行操作即可

void Delete ( int x ) {int pre = PreSuf ( x, 0 ), suf = PreSuf ( x, 1 );splay ( pre, 0 );splay ( suf, pre );//pre有可能為0 但這個時候suf就應該旋轉到根int u = tree[suf].son[0];if ( tree[u].cnt > 1 ) {tree[u].cnt --;splay ( u, 0 );}elsetree[suf].son[0] = 0, splay( suf, 0 ); }

查找x的位置

我相信給個圖,大家就懂了


與插入是一個意思,此處就不過多解釋

void find ( int x ) {//查找x的位置并旋轉到根節點 if ( ! root ) //樹是空的return;int u = root;while ( tree[u].son[x > tree[u].val] && x != tree[u].val )//存在兒子并且當前點不是我們要找的 u = tree[u].son[x > tree[u].val];splay ( u, 0 ); }

查找第k大

不要多說廢話了,不理解可以移步上面的treaptreaptreap講解

int findkth ( int x ) {if ( tree[root].siz < x )//整棵樹的大小都沒有k即不存在 return -1;int u = root;while ( 1 ) {if ( x <= tree[tree[u].son[0]].siz )u = tree[u].son[0];else if ( x <= tree[u].cnt + tree[tree[u].son[0]].siz )return u;else {x -= ( tree[tree[u].son[0]].siz + tree[u].cnt );u = tree[u].son[1];}} }

前驅/后繼

前驅后繼的思路很妙,我們以前驅為例,把xxx旋到根,那么左子樹就是比xxx小的,然后就在左兒子里面一直往右兒子走,likethis↓like\ this↓like?this

但是如果樹上沒有我們要找的xxx,怎么辦呢,這個時候的樹根究竟是什么,根據我們findfindfind的原理寫法,可以知道我們一定是找的最接近于xxx的值,不是它的前驅就是它的后繼,那么這個時候根就有可能是答案
我們就在findfindfind后加入兩個特判

int PreSuf ( int x, int f ) {//f=0找前驅 f=1找后繼 find ( x );//查找后因為splay此時樹根就是要查詢節點if ( tree[root].val > x && f )//如果當前節點的值大于x并且要查找的是后繼因為find原因可以直接返回了 return root;if ( tree[root].val < x && ! f )//與找后繼同理 return root;int u = tree[root].son[f];if ( ! u )return 0;while ( tree[u].son[f ^ 1] )u = tree[u].son[f ^ 1];return u; }

極小值-inf和極大值inf的作用

在沒看到這個之前,如果你就拿著模板跑了,恭喜你流失了一天甚至更多的青春
因為上述模板都是在插入了哨兵的前提下才能運行的接下來讓本蒟蒻來給你錯誤的講講哨兵的優秀

如果有哨兵存在,那么這些點永遠都不會是死在最前面或者死的時候墊在最下面,就幫助我們少考慮很多邊界,我昨天沒有加哨兵,不停地補刀做手術,還是千瘡百孔,病很多都是并發癥,醫不過來,加了個哨兵,自己就好了

最后簡單提一下封裝的好處,顯然就是整個在一坨,方便整體移動和調試。代碼分層也很清晰。可以用結構體

struct node {里面放所有splay的操作 }T; 調用函數需要寫成 T.insert() 之類的

還可以

namespace splay {里面放所有splay操作 } 調用函數需要寫成 splay :: insert() 之類的

通常是題目解法涉及到多種算法時,常按算法將各自模板進行封裝。這樣你可以很清楚地知道某個函數是屬于哪一層的算法。

例題:P3369 【模板】普通平衡樹

題目

送你離開千里之外

code

#include <cstdio> #define maxn 100005 #define INF 0x7f7f7f7f struct node {int f, cnt, val, siz, son[2]; }tree[maxn]; int n, Size, root;void update ( int x ) {tree[x].siz = tree[tree[x].son[0]].siz + tree[tree[x].son[1]].siz + tree[x].cnt; }void rotate ( int x ) { int fa = tree[x].f; int Gfa = tree[fa].f;int k = ( tree[fa].son[1] == x );tree[Gfa].son[tree[Gfa].son[1] == fa] = x;tree[x].f = Gfa; tree[fa].son[k] = tree[x].son[k ^ 1];tree[tree[x].son[k ^ 1]].f = fa;tree[x].son[k ^ 1] = fa;tree[fa].f = x;update ( fa );update ( x ); }void splay ( int x, int goal ) {while ( tree[x].f != goal ) {int fa = tree[x].f, Gfa = tree[fa].f;if ( Gfa != goal )( ( tree[Gfa].son[0] == fa ) ^ ( tree[fa].son[0] == x ) ) ? rotate ( x ) : rotate ( fa );rotate ( x );}if ( ! goal )root = x; }void insert ( int x ) {int u = root, fa = 0;while ( u && tree[u].val != x ) {fa = u;u = tree[u].son[x > tree[u].val]; }if ( u ) tree[u].cnt ++;else {u = ++ Size; if ( fa ) tree[fa].son[x > tree[fa].val] = u;tree[u].son[0] = tree[u].son[1] = 0;tree[u].val = x;tree[u].f = fa;tree[u].cnt = tree[u].siz = 1;}splay ( u, 0 ); }void find ( int x ) {if ( ! root )return;int u = root;while ( tree[u].son[x > tree[u].val] && x != tree[u].val )u = tree[u].son[x > tree[u].val];splay ( u, 0 ); }int PreSuf ( int x, int f ) { find ( x );if ( tree[root].val > x && f )return root;if ( tree[root].val < x && ! f )return root;int u = tree[root].son[f];if ( ! u )return 0;while ( tree[u].son[f ^ 1] )u = tree[u].son[f ^ 1];return u; }void Delete ( int x ) {int pre = PreSuf ( x, 0 ), suf = PreSuf ( x, 1 );splay ( pre, 0 );splay ( suf, pre );int u = tree[suf].son[0];if ( tree[u].cnt > 1 ) {tree[u].cnt --;splay ( u, 0 );}elsetree[suf].son[0] = 0; }int findkth ( int x ) {if ( tree[root].siz < x )return -1;int u = root;while ( 1 ) {if ( x <= tree[tree[u].son[0]].siz )u = tree[u].son[0];else if ( x <= tree[u].cnt + tree[tree[u].son[0]].siz )return u;else {x -= ( tree[tree[u].son[0]].siz + tree[u].cnt );u = tree[u].son[1];}} }int main() {insert ( INF );insert ( -INF );scanf ( "%d", &n );int opt, x;for ( int i = 1;i <= n;i ++ ) {scanf ( "%d %d", &opt, &x );switch ( opt ) {case 1 : insert ( x ); break;case 2 : Delete ( x ); break;case 3 : {find ( x );printf ( "%d\n", tree[tree[root].son[0]].siz );break;}case 4 : {int u = findkth ( x + 1 );printf ( "%d\n", tree[u].val );break;}case 5 : {int u = PreSuf ( x, 0 );printf ( "%d\n", tree[u].val );break;}case 6 : {int u = PreSuf ( x, 1 );printf ( "%d\n", tree[u].val );break;}}}return 0; } #include <cstdio> #define maxn 100005 #define INF 0x7f7f7f7f struct SplayTree {struct node {int f, cnt, val, siz, son[2];void init ( int Val, int fa ) {val = Val;cnt = siz = 1;f = fa;son[0] = son[1] = 0;}}tree[maxn];int root, Size;void update ( int x ) {tree[x].siz = tree[tree[x].son[0]].siz + tree[tree[x].son[1]].siz + tree[x].cnt;}void rotate ( int x ) { int fa = tree[x].f; int Gfa = tree[fa].f;int k = ( tree[fa].son[1] == x );tree[Gfa].son[tree[Gfa].son[1] == fa] = x;tree[x].f = Gfa; tree[fa].son[k] = tree[x].son[k ^ 1];tree[tree[x].son[k ^ 1]].f = fa;tree[x].son[k ^ 1] = fa;tree[fa].f = x;update ( fa );update ( x );}void splay ( int x, int goal ) {while ( tree[x].f != goal ) {int fa = tree[x].f, Gfa = tree[fa].f;if ( Gfa != goal )( ( tree[Gfa].son[0] == fa ) ^ ( tree[fa].son[0] == x ) ) ? rotate ( x ) : rotate ( fa );rotate ( x );}if ( ! goal )root = x;}void insert ( int x ) {int u = root, fa = 0;while ( u && tree[u].val != x ) {fa = u;u = tree[u].son[x > tree[u].val]; }if ( u ) tree[u].cnt ++;else {u = ++ Size; if ( fa ) tree[fa].son[x > tree[fa].val] = u;tree[u].son[0] = tree[u].son[1] = 0;tree[u].val = x;tree[u].f = fa;tree[u].cnt = tree[u].siz = 1;}splay ( u, 0 );}void find ( int x ) {if ( ! root )return;int u = root;while ( tree[u].son[x > tree[u].val] && x != tree[u].val )u = tree[u].son[x > tree[u].val];splay ( u, 0 ); }int PreSuf ( int x, int f ) { find ( x );if ( tree[root].val > x && f )return root;if ( tree[root].val < x && ! f )return root;int u = tree[root].son[f];if ( ! u )return 0;while ( tree[u].son[f ^ 1] )u = tree[u].son[f ^ 1];return u;}void Delete ( int x ) {int pre = PreSuf ( x, 0 ), suf = PreSuf ( x, 1 );splay ( pre, 0 );splay ( suf, pre );int u = tree[suf].son[0];if ( tree[u].cnt > 1 ) {tree[u].cnt --;splay ( u, 0 );}elsetree[suf].son[0] = 0;}int findkth ( int x ) {if ( tree[root].siz < x )return -1;int u = root;while ( 1 ) {if ( x <= tree[tree[u].son[0]].siz )u = tree[u].son[0];else if ( x <= tree[u].cnt + tree[tree[u].son[0]].siz )return u;else {x -= ( tree[tree[u].son[0]].siz + tree[u].cnt );u = tree[u].son[1];}}}}T; int n;int main() {T.insert ( -INF );T.insert ( INF );scanf ( "%d", &n );int opt, x;for ( int i = 1;i <= n;i ++ ) {scanf ( "%d %d", &opt, &x );switch ( opt ) {case 1 : T.insert ( x ); break;case 2 : T.Delete ( x ); break;case 3 : {T.find ( x );printf ( "%d\n", T.tree[T.tree[T.root].son[0]].siz );break;}case 4 : {int u = T.findkth ( x + 1 );printf ( "%d\n", T.tree[u].val );break;}case 5 : {int u = T.PreSuf ( x, 0 );printf ( "%d\n", T.tree[u].val );break;}case 6 : {int u = T.PreSuf ( x, 1 );printf ( "%d\n", T.tree[u].val );break;}}}return 0; }

總結

以上是生活随笔為你收集整理的[学习笔记] 伸展树splay详解+全套模板+例题[Luogu P3369 【模板】普通平衡树]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产黄色一级大片 | 久久在线视频在线 | 国内外成人免费在线视频 | 亚洲激情在线视频 | 国产成人精品一区二区三区福利 | 草久电影 | 欧美网站黄色 | 久久久片| 亚洲视屏| 日本精品视频免费观看 | 精品亚洲一区二区 | 国产一区二区在线播放 | 日日夜夜精品免费视频 | 成人免费一区二区三区在线观看 | www久久国产 | 亚洲精品99 | 国产精品乱码高清在线看 | 国产精品美女久久久久久久久 | 免费美女久久99 | 国产一在线精品一区在线观看 | 成人中心免费视频 | 久久久精品久久日韩一区综合 | 国产日韩精品久久 | bbbbb女女女女女bbbbb国产 | 91桃色免费观看 | 天天玩天天干天天操 | 婷婷伊人网 | 国产精品com | 麻豆免费在线视频 | 97在线视频免费 | 色悠悠久久综合 | 欧美色操| 狠狠操狠狠插 | 国精产品永久999 | 日本黄色片一区二区 | 五月天激情婷婷 | 中文字幕丰满人伦在线 | 中文字幕国产精品 | 激情校园亚洲 | 超碰97国产精品人人cao | 四虎成人精品在永久免费 | 日韩激情视频 | 九九亚洲精品 | 国产毛片久久久 | 天堂av免费 | 去看片| 99久久精品免费看国产免费软件 | 国产欧美在线一区二区三区 | 久久久精品 一区二区三区 国产99视频在线观看 | 在线观看韩日电影免费 | 波多在线视频 | 国产精品毛片久久 | 日韩精品一区二区三区高清免费 | 人人爽人人澡 | 亚洲性xxxx| 日韩成人免费在线电影 | 女人18片毛片90分钟 | 日韩在线第一 | 久久影视网 | 色综合天天做天天爱 | 亚洲伊人网在线观看 | 在线观看免费av片 | 一区二区三区免费播放 | 91精品国产综合久久婷婷香蕉 | 日韩中文字幕免费电影 | 国产精品久久久久久久久久久久午 | 亚洲精品资源在线观看 | 精品美女在线视频 | 天天操人人干 | 99精品在线播放 | 久久久www成人免费毛片 | av成人免费在线 | 国产精品久久久久久一二三四五 | 最新av观看| 97精品欧美91久久久久久 | 91精品视频免费看 | www.午夜色.com| 9热精品| 亚洲精品视频在线免费播放 | 欧美作爱视频 | 久久精品二区 | 久艹视频免费观看 | 精品视频久久久久久 | 香蕉视频最新网址 | 毛片3| 日韩黄色免费 | 五月婷婷另类国产 | 国产免费一区二区三区最新 | 8x8x在线观看视频 | 欧美日韩在线播放一区 | 色橹橹欧美在线观看视频高清 | 日韩一级电影在线 | 五月天色丁香 | 久久免费美女视频 | 精品久久电影 | 日韩成人邪恶影片 | 久久激情视频 久久 | 久 久久影院 | 91成熟丰满女人少妇 | 国产不卡在线 | 91豆麻精品91久久久久久 | 天天干天天干天天干天天干天天干天天干 | 香蕉久草 | 美女在线免费观看视频 | 欧美一级视频在线观看 | 色网站免费在线观看 | 色综合天天视频在线观看 | 亚洲激情免费 | 久久久午夜精品福利内容 | 亚洲欧美综合精品久久成人 | 91亚洲精品久久久久图片蜜桃 | 国产午夜精品一区二区三区嫩草 | 国产中文字幕精品 | 精品不卡视频 | 国产色婷婷 | 丁香激情综合久久伊人久久 | 韩国精品一区二区三区六区色诱 | 久久成人国产精品 | 国产精品久久久久久久久久久久午夜片 | 黄色日批网站 | 久久精品中文字幕一区二区三区 | 黄色不卡av | 911在线| 在线三级播放 | 97色在线观看免费视频 | 亚av在线| 久久久在线免费观看 | 亚洲精品国产精品99久久 | 久久久久久久久久久免费视频 | 国产91精品久久久久久 | 日韩av视屏| 一区二区三区电影大全 | 福利二区视频 | 日韩在线观看 | 亚洲午夜小视频 | 免费在线观看成人av | 成人久久久精品国产乱码一区二区 | 久草视频在线免费看 | 日韩免费电影一区二区 | 久久久久久久久久网 | 青青河边草免费直播 | 精品久久久久久久久久久久久久久久久久 | 五月天天在线 | 九九九热视频 | 国产精品久久久久久高潮 | 久久久久久久久久久久av | av资源在线看 | 日韩欧美观看 | 91看国产| 国产精品原创 | 亚洲一级片 | 在线观看你懂的网址 | 97福利视频 | 精品美女久久久久 | 欧美日韩伦理一区 | 国产精品成 | 婷婷丁香av | 久久爱资源网 | 麻豆系列在线观看 | 91av免费观看| 精品国产成人 | 国内外成人免费在线视频 | 日本精品久久久久影院 | 91中文在线 | 精品国产乱码一区二 | 欧美日韩二区三区 | 亚洲欧美成人 | 亚洲国产免费看 | 国产精品小视频网站 | 天躁狠狠躁 | 超碰电影在线观看 | 久久综合婷婷国产二区高清 | 国产在线高清精品 | 欧美日韩国产在线 | 香蕉视频在线观看免费 | 精品国产一区二区三区四区vr | 国产日韩欧美在线一区 | 国产一级久久久 | 91在线播放视频 | 亚洲欧美国产精品18p | 久草在线一免费新视频 | 日韩午夜av | 在线播放国产精品 | 亚州精品国产 | 亚洲成人资源在线观看 | 亚洲午夜精品久久久 | av免费片| 91视频国产高清 | 天天草天天 | 久久久久国产精品一区 | 国产视频一区二区三区在线 | 国产精品大全 | 精品视频免费看 | 国产xx视频 | 日韩二区在线播放 | 超碰免费97| 日本中文字幕免费观看 | 91福利国产在线观看 | 岛国av在线| 亚洲精品久久久久久久不卡四虎 | av五月婷婷 | 日本性xxx| 久久国产精品视频免费看 | 国内精品久久天天躁人人爽 | 91免费观看网站 | 日韩有码在线播放 | 亚洲理论视频 | 欧美日韩国产精品一区二区三区 | 97免费视频在线播放 | 中文字幕国产一区 | 久久久久欠精品国产毛片国产毛生 | 色婷婷综合久色 | 黄色亚洲大片免费在线观看 | 91亚洲狠狠婷婷综合久久久 | 成人a免费视频 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲人xxx | 久久午夜精品影院一区 | 人人爽人人爽av | 久久国内视频 | 亚洲国产高清在线观看视频 | 久久婷婷五月综合色丁香 | 天天操网址 | 国产免费视频一区二区裸体 | 国产精品成人一区二区三区 | 久久久久久久久久久免费视频 | 成人av直播 | 久草91视频 | 欧美乱淫视频 | 99热在线观看免费 | 日本精品视频一区 | 偷拍区另类综合在线 | 欧美日韩国产精品一区二区三区 | 精品国产一区二区三区久久影院 | 狠狠色丁香婷婷综合久小说久 | 国产免费视频一区二区裸体 | 日韩中文字幕免费视频 | 国产精品久久久久久久久费观看 | 亚洲美女视频在线观看 | 中文乱幕日产无线码1区 | 激情婷婷av| 国产精品一区二区三区免费看 | 日韩精品免费一区二区三区 | 国产精品久久久久久久妇 | 国产在线精品一区二区不卡了 | 日本三级国产 | 免费在线一区二区 | 欧美色图另类 | 免费人成在线观看 | 日本黄色大片免费看 | v片在线看 | 亚洲春色成人 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 亚洲精品在线一区二区三区 | 色999视频 | 日本一区二区三区免费看 | 欧美a级在线播放 | 91精品国产综合久久福利不卡 | 久久综合婷婷国产二区高清 | 免费国产在线精品 | 免费观看高清 | 国产视频中文字幕 | 欧美性极品xxxx做受 | 天天操夜夜逼 | 99re中文字幕| 最近在线中文字幕 | 99综合电影在线视频 | 国产青春久久久国产毛片 | 国产精品理论视频 | 在线观看免费一区 | 欧美日韩久久不卡 | 涩涩网站在线观看 | 国产福利一区二区三区在线观看 | 中文字幕在线观看资源 | 激情六月婷婷久久 | 亚洲精品久久久久www | 中文视频在线看 | 激情视频区 | 亚洲成人动漫在线观看 | 人人爽人人插 | 夜夜视频| 奇米影视8888 | 97超碰在线资源 | 国产二区精品 | 国产91学生粉嫩喷水 | 成人超碰在线 | 激情综合国产 | 中文字幕在线日亚洲9 | 97色免费视频 | 久久人人射 | 99久久精品一区二区成人 | 国产精品一区二区免费视频 | 午夜视频在线观看一区二区三区 | 国产视频 亚洲精品 | 国产 视频 久久 | 成人免费网站视频 | 成人a视频 | 在线观看日韩免费视频 | 色综合久久久网 | 免费在线观看不卡av | 日一日干一干 | 天天色天天干天天 | 中文在线a天堂 | 丝袜av一区 | 超碰人人舔 | 激情亚洲综合在线 | av中文国产 | 99久久精品国产毛片 | 免费在线观看一级片 | 黄色视屏av | 国产精品视频地址 | 99精品视频99 | 四虎影视成人永久免费观看视频 | 久久欧美精品 | 黄色精品免费 | 国产精品美女久久久久aⅴ 干干夜夜 | 四虎成人精品永久免费av | 日韩免费一级a毛片在线播放一级 | 公与妇乱理三级xxx 在线观看视频在线观看 | 天天干,夜夜爽 | 日韩中文字幕免费视频 | 欧美精品亚洲精品 | 91av视频免费在线观看 | 国产 av 日韩 | 丁香5月婷婷久久 | 又色又爽又激情的59视频 | a在线播放 | 国产一区视频在线 | 97看片| 黄色三级免费网址 | 99热这里只有精品1 av中文字幕日韩 | 人人爽人人爱 | 人人搞人人干 | 三级黄色免费片 | 亚洲综合国产精品 | 黄色三级在线看 | 国产一级做a | 精品亚洲成a人在线观看 | 最新av在线免费观看 | 久久99精品国产麻豆婷婷 | 精品久久久久一区二区国产 | 国产一线在线 | 成人免费毛片aaaaaa片 | 国产日韩欧美在线影视 | 中午字幕在线观看 | 一区二区三区精品在线视频 | 91九色蝌蚪国产 | 97小视频 | www免费网站在线观看 | 国产97av| 亚洲精品国产精品国自产 | 亚洲国产欧美在线人成大黄瓜 | 日本性生活免费看 | av福利在线免费观看 | 色婷婷av一区 | 蜜桃av久久久亚洲精品 | 五月天欧美精品 | 久久国产精品免费一区二区三区 | 久久久精品欧美一区二区免费 | 日韩av一区二区在线 | 亚洲在线视频免费观看 | 亚洲综合激情网 | 欧美一级片在线 | 欧美色噜噜噜 | 香蕉在线观看 | 亚洲砖区区免费 | 永久免费精品视频网站 | 日韩av网页 | 久久免费在线观看视频 | 亚洲国产久 | 国产精品www | 在线观看精品一区 | 亚洲天堂精品视频在线观看 | 日韩精品久久一区二区三区 | 国产视频亚洲 | 国产日韩精品视频 | www久草 | 国际精品网 | 欧美一区二区三区特黄 | 精品99久久 | 亚洲欧美日韩精品久久久 | 亚洲视频免费 | 亚洲精品视频免费在线观看 | 最新高清无码专区 | 久久精彩视频 | 国产精品久久久久久久久久不蜜月 | 在线午夜av | 免费在线 | 欧美精品久久久久 | 蜜臀av.com| 综合久久综合久久 | 五月网婷婷 | 97免费视频在线 | 日本中文字幕观看 | 国产欧美日韩一区 | 欧美午夜精品久久久久 | 亚洲综合爱 | 亚洲第一久久久 | 成 人 黄 色 视频 免费观看 | 中文字幕国产一区二区 | 欧美极品xxxx | 国产麻豆视频网站 | 成年人视频在线免费播放 | 激情综合色图 | 91麻豆操 | 亚洲动漫在线观看 | 国产性天天综合网 | 久久免费在线视频 | 在线播放av网址 | 中文一二区 | 久久免费公开视频 | av丝袜在线 | 国偷自产视频一区二区久 | 超碰av在线| 国产午夜精品一区二区三区欧美 | 97超碰在线免费 | 久草影视在线观看 | 中文字幕视频观看 | 日韩精品一区电影 | 国产成人精品久久亚洲高清不卡 | 在线免费试看 | 99国产精品视频免费观看一公开 | 黄色一级免费 | 亚洲国产美女精品久久久久∴ | 国产精品成人一区二区三区吃奶 | 国产精品a久久久久 | 中文字幕永久免费 | 亚洲精品美女久久 | 成人欧美一区二区三区在线观看 | 成年人在线观看 | 国产精品久久久久久麻豆一区 | av不卡网站| 久久精品久久综合 | 久久草草影视免费网 | 久久欧洲视频 | 精品a视频 | 日韩高清一二区 | 特黄色大片 | 日本高清免费中文字幕 | 久久精品直播 | 国产你懂的在线 | 国产精品久久久亚洲 | 日本不卡一区二区 | av电影在线不卡 | 欧洲av不卡 | 国产高清在线观看 | 久久久久久久久免费视频 | 日本黄色免费电影网站 | 五月婷婷丁香网 | 在线观看中文字幕av | 亚洲高清视频一区二区三区 | 欧美美女视频在线观看 | 国内精品一区二区 | 国产高清av在线播放 | 日韩在线一区二区免费 | 五月花激情| 中文字幕久久久精品 | 欧美一区二区三区不卡 | 99久久久国产精品美女 | 日韩欧美精品一区二区三区经典 | 福利久久久 | 久久免费国产精品1 | 日韩中文字幕亚洲一区二区va在线 | 在线观看色网站 | 精品嫩模福利一区二区蜜臀 | 国产一级免费在线观看 | 天天射天天操天天 | 99国产一区| 91视频久久 | 天天av在线播放 | 亚洲视频2 | 在线观看岛国片 | 国产精品久久久久久999 | 久久婷婷精品 | 国产精品情侣视频 | 欧美大片在线观看一区 | 精品国产资源 | 在线观看 国产 | 丁香综合五月 | 精品久久国产 | 国产黄色看片 | 亚洲国产剧情av | 欧美日韩久久不卡 | 久久久久久久网 | 国产成人精品综合久久久 | 日本精品视频在线播放 | 在线观看国产日韩欧美 | 久草在线看片 | 国产成人一区二区三区电影 | 右手影院亚洲欧美 | 久久精品草| 超碰在线日本 | 国产高清不卡一区二区三区 | 国产精品成 | 亚洲精品黄| 中文字幕影片免费在线观看 | 欧美精品久久久久久久亚洲调教 | 久久电影日韩 | 国产精品乱码高清在线看 | 国产九九九九九 | 精品黄色视 | 超碰av在线播放 | 欧美日韩一区三区 | 久草网视频在线观看 | 91影视成人| 日韩成人免费在线 | 激情久久伊人 | 91人人爽人人爽人人精88v | 91精品人成在线观看 | 久久精品国产精品 | 51久久夜色精品国产麻豆 | 欧美亚洲久久 | 国产精品 亚洲精品 | 欧美日韩精品在线免费观看 | 麻豆一区二区 | 亚洲一级二级三级 | 国产毛片久久 | 在线观看亚洲专区 | 亚洲色图激情文学 | 97超碰在线久草超碰在线观看 | 天天操天天干天天爽 | 欧美一二三区播放 | 久久久久久久久久久免费av | 91亚·色| 国产在线不卡一区 | 成人免费观看视频网站 | 国模一二三区 | 久久久久久久久艹 | 久久国产热| 色视频在线免费观看 | 欧美国产不卡 | 97超碰国产精品女人人人爽 | 日韩精品免费一区 | 尤物97国产精品久久精品国产 | 不卡国产在线 | 日韩二三区 | 91九色视频在线观看 | 911国产在线观看 | 91在线播放综合 | 欧产日产国产69 | 91网在线观看 | 国产亚洲精品成人av久久影院 | 国产精品视频 | 日日夜夜天天人人 | 日韩极品在线 | 超碰在线中文字幕 | 色香蕉在线 | 亚洲一级理论片 | 久久免费的视频 | 激情欧美网 | 91av视屏| 91女神的呻吟细腰翘臀美女 | 色噜噜日韩精品欧美一区二区 | 五月香视频在线观看 | 久久久久久久综合色一本 | 国产精品麻豆三级一区视频 | 中文字幕在线看片 | 精品久久久成人 | 国产精品扒开做爽爽的视频 | 免费av网址大全 | 一区二区三区视频在线 | 久久这里只有精品1 | 精品久久久久久国产偷窥 | 日本激情视频中文字幕 | 三级视频片 | 国产午夜一区二区 | 中文字幕在线不卡国产视频 | 国产黄色精品在线 | 狠狠色婷婷丁香六月 | 少妇视频一区 | 亚洲第一区精品 | 国产日本三级 | 成人av网站在线播放 | 精品国产一区二区三区四 | 色多多视频在线观看 | 操操操日日日干干干 | 国产96av | 久草视频在线免费 | 色91在线视频 | 国产精品免费在线观看视频 | 成人黄色小视频 | 欧美三级高清 | 最近中文字幕在线中文高清版 | 成年人在线观看视频免费 | 在线观看免费版高清版 | 国产精品video爽爽爽爽 | 久久综合中文字幕 | 在线观看国产福利片 | 久久伊人精品一区二区三区 | 黄色最新网址 | 国产精品完整版 | 免费黄色激情视频 | 日日干网 | 免费在线看成人av | 久久再线视频 | 亚洲黄色av | 狠狠激情中文字幕 | 综合中文字幕 | 黄色大全免费网站 | 日韩精品不卡在线观看 | 久久亚洲私人国产精品 | 久久久久国产精品厨房 | 国产精品久久久久久久久久妇女 | 久久久久伊人 | 在线精品视频免费播放 | 91黄色成人 | 国产精品一级视频 | 久久99精品久久久久久清纯直播 | 一区二区久久久久 | 在线亚洲高清视频 | 精品国产一区二区久久 | 蜜桃视频日本 | 国产一区二区三区免费在线观看 | 亚洲一区免费在线 | 免费麻豆 | 四虎影院在线观看av | 日韩亚洲国产中文字幕 | 免费看的视频 | 亚洲精品在线视频播放 | 狠狠干天天| 欧美一区二区三区免费看 | 欧美大片第1页 | 97国产小视频 | 久久综合综合久久综合 | 免费网站观看www在线观看 | 特级毛片在线观看 | 色噜噜日韩精品一区二区三区视频 | 亚洲精品乱码久久久久 | 亚州精品天堂中文字幕 | 欧美成人h版 | 成人在线免费视频观看 | 日韩高清www| 丁香五香天综合情 | 日韩av二区 | 在线一区观看 | 久久久国产精品麻豆 | 69中文字幕| 亚洲精品99久久久久中文字幕 | 色偷偷av男人天堂 | 午夜精品电影 | 欧美日韩高清免费 | 亚洲精选在线观看 | 四虎在线观看 | 欧美男女爱爱视频 | 97视频资源 | 黄色电影在线免费观看 | 97福利在线观看 | 亚洲精品91天天久久人人 | 亚洲国产av精品毛片鲁大师 | 精品国产一区二区三区男人吃奶 | 久久一区二区三区四区 | 91精品在线观看视频 | 99这里精品 | 五月婷婷中文字幕 | 九九九视频精品 | 久久久久免费精品国产 | 一本一本久久a久久精品综合妖精 | 成年人app网址 | 国产一二三区av | 精品国产一区二区三区久久久久久 | 国产青草视频在线观看 | 99久久精品免费视频 | 天天操天天操天天爽 | 韩国精品一区二区三区六区色诱 | 人人干人人艹 | 免费看黄色小说的网站 | 日韩美女免费线视频 | 九九综合久久 | 久久午夜鲁丝片 | 99视频精品全国免费 | 9999在线观看 | 天天天干夜夜夜操 | 精品字幕在线 | 欧美analxxxx| 久草在线免费看视频 | 成人一区二区在线观看 | 69国产盗摄一区二区三区五区 | 亚洲色影爱久久精品 | 福利视频一二区 | 人人射人人爽 | 狠狠狠色狠狠色综合 | 久久精品超碰 | 韩国在线视频一区 | 免费看一级黄色大全 | 欧美日韩在线免费观看 | 国产亚洲成人网 | 超级碰碰碰视频 | 久久另类视频 | 欧美激情xxxx性bbbb | 日韩大片在线观看 | 欧美日韩高清免费 | 日本黄色免费在线观看 | 中文字幕av电影下载 | 在线播放亚洲 | 91人人澡人人爽人人精品 | 久久99久久99精品免观看粉嫩 | 亚州国产视频 | 欧美视频99 | 国产九色视频在线观看 | www.天天色.com | 久久精品国产成人 | 欧美激情精品一区 | 麻豆视频网址 | 国产资源免费在线观看 | 久久中文字幕在线视频 | 欧美激情视频三区 | 福利视频在线看 | 日本不卡视频 | 在线观看完整版 | 激情图片qvod | 色多多视频在线观看 | 免费观看性生活大片 | 国产又粗又长的视频 | 天天插天天色 | 国产成人av综合色 | 中文字幕高清免费日韩视频在线 | 国产亚洲精品久久久久5区 成人h电影在线观看 | a黄色| 2024av| 久久草草热国产精品直播 | 天天综合天天综合 | 成人国产精品一区二区 | www.色五月| 精品视频 | 久久久免费观看完整版 | 二区三区av| 97超级碰碰碰碰久久久久 | 欧美人人爱 | 欧美另类一二三四区 | 午夜国产影院 | 欧美日韩破处 | 中文字幕 在线 一 二 | 最新免费中文字幕 | 久久一区二区三区四区 | 亚洲久草在线视频 | 久久人人做 | 人人玩人人添人人澡超碰 | 精选久久 | 婷婷av网 | 欧美性生活免费看 | 国产免码va在线观看免费 | 最新av在线免费观看 | 久草在线视频资源 | 在线中文字幕网站 | 国产精品一区在线观看你懂的 | 日韩性片| 日韩二区三区在线 | 国产日韩欧美视频在线观看 | 久久精品视频观看 | 国产精品初高中精品久久 | 日韩1页| 国产精品久久一区二区三区不卡 | 99在线视频播放 | 免费h精品视频在线播放 | 天天天天天天天操 | 最近的中文字幕大全免费版 | 伊人影院得得 | 99热国产在线 | 色婷婷播放| 精品久久久久一区二区国产 | 午夜精品一区二区三区在线 | 精品专区 | 亚洲国产中文字幕在线 | av久久久 | 国产亚洲欧美精品久久久久久 | 成x99人av在线www | 一区二区三区动漫 | 精品美女在线观看 | 久久欧美精品 | 99re国产视频 | 国产精品99久久久久久小说 | 日本精品视频一区二区 | 最近日本mv字幕免费观看 | 亚洲影院一区 | 免费日韩一区二区 | 欧美午夜一区二区福利视频 | av在线色 | 毛片播放网站 | 国产高清日韩欧美 | 国产一区在线观看免费 | 精品超碰 | 久久精品国产精品亚洲 | 三级黄色在线观看 | 911久久| 99视频黄 | 午夜久久久精品 | 成人亚洲精品久久久久 | 一区二区不卡视频在线观看 | 日日天天 | 香蕉视频在线网站 | 亚洲一区二区三区毛片 | 欧美久久久久久久久久久 | 国产高清久久久久 | 五月婷婷免费 | 国产午夜精品一区二区三区四区 | av免费网站观看 | 狠狠躁日日躁夜夜躁av | 亚洲最新av在线网址 | 欧美一性一交一乱 | 久久99久久99精品中文字幕 | 99久免费精品视频在线观看 | 久久精品牌麻豆国产大山 | 国产精品一区二区精品视频免费看 | 国产精品久久久精品 | 国产爽视频 | 毛片的网址 | 国产欧美日韩精品一区二区免费 | 成人亚洲免费 | 国内一级片在线观看 | 亚洲精品国产精品国自产观看浪潮 | 色噜噜在线观看 | 久热电影 | 国产亚洲精品精品精品 | 日本三级久久久 | 日韩一区二区三区免费电影 | 草久在线观看视频 | 免费日韩 精品中文字幕视频在线 | 日本爱爱片 | 丝袜美女在线观看 | 色婷婷精品 | 91在线免费播放视频 | 天天操天天综合网 | 九九久久精品 | 有码中文字幕在线观看 | 热久久在线视频 | 中文字幕网站视频在线 | 亚洲综合欧美激情 | 国产视频精品在线 | 91九色蝌蚪国产 | 国产一级片播放 | 亚洲最新av网址 | 久草在线高清视频 | 国产剧情在线一区 | 国产欧美最新羞羞视频在线观看 | 成年在线观看 | 亚州性色| 最新国产在线视频 | 在线观看精品黄av片免费 | 日日草夜夜操 | 国产福利小视频在线 | 国产精品久久久久免费 | 日韩成人精品一区二区 | 二区三区在线观看 | 中文字幕 在线 一 二 | 波多野结衣在线中文字幕 | 天天久久夜夜 | 亚洲精品国产成人 | 成人av电影免费在线观看 | 免费高清在线视频一区· | 亚洲综合小说 | 手机在线看a | 久久免费公开视频 | 久久久久一区二区三区 | 国产三级精品在线 | 在线性视频日韩欧美 | 日韩精品电影在线播放 | 久久久久久高潮国产精品视 | av免费电影在线 | 黄色在线观看免费 | 九色91视频| 国产成人精品久久亚洲高清不卡 | 不卡精品 | 日韩精品在线免费观看 | 久久网址| 国产精品久久久久久久久搜平片 | 爱情影院aqdy鲁丝片二区 | 久久人网 | 亚洲精品一区二区三区新线路 | 国产精品久久久久久99 | 成人a级黄色片 | 亚洲在线看 | 婷婷在线观看视频 | 精品国产乱码久久久久久久 | 精品久久国产精品 | 97在线观看免费观看 | 一级全黄毛片 | 狠狠色噜噜狠狠 | av观看在线观看 | 五月婷婷深开心 | 欧美作爱视频 | 一区二区久久 | 色姑娘综合 | 91精品久久久久久 | 色91在线| 久久久久影视 | 天天操天天操天天操天天 | 在线91视频 | 亚洲国产精品久久 | 久草免费手机视频 | 日韩欧美视频免费看 | 亚洲人人精品 | www九九热 | 国产主播大尺度精品福利免费 | 精品国产激情 | 日韩免费电影一区二区三区 | 日韩黄色软件 | 狠狠狠狠狠干 | 中文字幕精品在线 | 夜夜躁日日躁狠狠躁 | 成人午夜剧场在线观看 | 色婷婷婷| 九九日韩 | 2022国产精品视频 | av不卡免费看 | 九九日韩 | 久草av在线播放 | 久久国产电影 | 久久久久国产成人免费精品免费 | 7777精品伊人久久久大香线蕉 | 亚洲综合色av | 午夜资源站 | 日韩伦理片一区二区三区 | 91视频在线播放视频 | 欧美天天综合网 | 亚洲精品久久久久www | 色婷婷免费视频 | 天天射射天天 | 亚洲精品久久久久久中文传媒 | 91九色免费视频 | 激情一区二区三区欧美 | 五月婷婷视频在线 | 亚洲国产高清在线观看视频 | 久久伊人精品天天 | 成人免费视频播放 | 欧美在线视频日韩 | a在线v| 国产永久免费高清在线观看视频 | 久久精品综合 | av中文字幕亚洲 | 西西大胆啪啪 | 成人avav | 国产精品激情在线观看 | 黄色国产在线观看 | 国产一区在线免费观看视频 | 狠狠躁日日躁狂躁夜夜躁av | 婷婷网站天天婷婷网站 | 亚洲免费精品一区二区 | www.久久久久| 久久免费看片 | 精品免费视频 | 日韩免费三级 | 911精品美国片911久久久 | 久久久香蕉视频 | 国产精品video爽爽爽爽 | 黄色免费观看 | 婷婷丁香六月 | 99视频在线精品国自产拍免费观看 | 欧美日韩18 | 免费人做人爱www的视 | 久久九九国产精品 | 在线亚洲人成电影网站色www | 久久综合色婷婷 | 国产xx在线 | 黄色91在线 | 青青草国产精品 | 午夜精品一区二区三区四区 | 久久夜色精品国产欧美乱极品 | 欧美成人在线网站 | 精品福利在线视频 | 国产99久久99热这里精品5 | 成人精品久久久 | 欧美激情视频一区二区三区免费 | 中文字幕人成乱码在线观看 | 91精品小视频 | av高清在线 | 激情黄色一级片 | 349k.cc看片app | 亚洲精选久久 | 一区二区三区中文字幕在线观看 | 91高清不卡 | 免费精品| 偷拍精偷拍精品欧洲亚洲网站 | 日日干天天| 国产四虎影院 | 亚洲一区在线看 | 天天干天天色2020 | 97碰在线视频 | 国产精品免费看 | 久久综合久久久 | 毛片黄色一级 | 亚洲高清资源 | 亚洲在线观看av | 亚洲一区二区视频 | 国产一区在线看 | 日韩欧美aaa | 在线观看黄网站 | 好看的国产精品视频 | 久久成人18免费网站 | 91成人在线观看高潮 | 九九热精品在线 | 开心丁香婷婷深爱五月 | 色91av | 69亚洲视频 | 成年一级片 | 在线视频中文字幕一区 | 蜜臀av性久久久久蜜臀av | 一区二区三高清 | 久久精品电影 |