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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

「Note」数据结构方向 - 数据结构进阶

發(fā)布時(shí)間:2025/6/17 编程问答 46 如意码农
生活随笔 收集整理的這篇文章主要介紹了 「Note」数据结构方向 - 数据结构进阶 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 平衡樹(FHQ-Treap)

1.1. 介紹

功能強(qiáng)大的平衡樹,以至于我根本沒學(xué) Treap 以及 Splay(LCT 里的另談),缺點(diǎn)就大概是常數(shù)大。

FHQ-Treap 核心操作在于分裂與合并

因?yàn)楹喜r(shí)按照隨機(jī)權(quán)值決定父子關(guān)系,期望復(fù)雜度為 \(\log n\)。

1.1.1 分裂

按照權(quán)值 \(val\) 分裂,給定 \(val\),將整棵平衡樹 \(T\) 分裂為 \(T_x,T_y\) 使得 \(\forall i\in T_x,\forall j\in T_y\),有 \(val_i\le val<val_j\)。

對于當(dāng)前節(jié)點(diǎn) \(rt\),若 \(val_rt\le val\),則左子樹以及 \(rt\) 都應(yīng)分到 \(T_x\) 中,故只需向右遞歸右子節(jié)點(diǎn);反之類似地遞歸左子節(jié)點(diǎn)。

void split(int rt,int &x,int &y,int val)
{
if(!rt){x=y=0;return;}
if(t[rt].val<=val)split(t[rt].rs,t[x=rt].rs,y,val);
else split(t[rt].ls,x,t[y=rt].ls,val);
push_up(rt);
return;
}

其中 push_up() 函數(shù)是用來更新節(jié)點(diǎn)信息的,一定不要忘寫。

1.1.2 合并

給定兩棵樹 \(T_x,T_y\),前提是 \(\forall i\in T_x,\forall j\in T_y\),有 \(val_i<val_j\)。

對于要合并的 \(x,y\),我們根據(jù)優(yōu)先級決定父子關(guān)系,根據(jù) \(val_x<val_y\) 調(diào)用 merge() 合并對應(yīng)子節(jié)點(diǎn)。

int merge(int x,int y)
{
if(!x||!y)return x|y;
if(t[x].key<t[y].key){t[x].rs=merge(t[x].rs,y);push_up(x);return x;}
t[y].ls=merge(x,t[y].ls);
push_up(y);
return y;
}

1.2. 其他功能

1.2.1. 插入值

按照 \(val-1\) 分裂為兩棵樹,再新建節(jié)點(diǎn)合并即可。

void ins(int val)
{
int x=0,y=0;
split(root,x,y,val-1);
root=merge(merge(x,new_node(val)),y);
return;
}

其中 new_node() 函數(shù)用于新建節(jié)點(diǎn),返回節(jié)點(diǎn)編號,\(\mathrm{root}\) 為整棵平衡樹的根。

1.2.2. 刪除值(只刪一個(gè))

void del(int val)
{
int x=0,y=0,z=0;
split(root,x,z,val),split(x,x,y,val-1);
root=merge(merge(x,y=merge(t[y].ls,t[y].rs)),z);
return;
}

1.2.3. 查詢值的排名

按照 \(val-1\) 分裂為 \(T_x,T_y\),\(siz_x+1\) 即答案,記得合并回來。

int rk(int val)
{
int x=0,y=0,res=0;
split(root,x,y,val-1);
res=t[x].siz+1;
root=merge(x,y);
return res;
}

1.2.4. 查詢第 \(k\) 大

類似線段樹上二分,若 \(k\le siz_{ls_{rt}}\) 則向左子節(jié)點(diǎn)遞歸,若 \(k=siz_{ls_{rt}}+1\) 則返回 \(val_{rt}\),否則向右子節(jié)點(diǎn)遞歸。

int kth(int k)
{
int now=root;
while(true)
{
if(k<=t[t[now].ls].siz)now=t[now].ls;
else if(k==t[t[now].ls].siz+1)return t[now].val;
else k-=t[t[now].ls].siz+1,now=t[now].rs;
}
}

1.2.5. 查找嚴(yán)格小于 / 大于 \(val\) 的前驅(qū) / 后繼

類似二分(可能),與上一過程類似。也可以采用分裂后找值。

int pre(int val)
{
int now=root,res=0;
while(true)
{
if(!now)return res;
if(val<=t[now].val)now=t[now].ls;
else res=t[now].val,now=t[now].rs;
}
}
int suf(int val)
{
int now=root,res=0;
while(true)
{
if(!now)return res;
if(val>=t[now].val)now=t[now].rs;
else res=t[now].val,now=t[now].ls;
}
}

1.2.6. 區(qū)間翻轉(zhuǎn)

此操作要求維護(hù)序列平衡樹,考慮維護(hù)每個(gè)位置的值,此時(shí)平衡樹并不需要滿足二叉搜索樹性質(zhì)。

修改時(shí)將修改區(qū)間按照 \(siz\) 分離出來,打翻轉(zhuǎn)標(biāo)記即可。

1.3. 例題

\(\color{royalblue}{P3369}\)

$\text{Code}$:
#include<bits/stdc++.h>
#define LL long long
#define UN unsigned
using namespace std;
//--------------------//
//IO
inline int rd()
{
int ret=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
while(ch>='0'&&ch<='9')ret=ret*10+ch-'0',ch=getchar();
return ret*f;
}
//--------------------//
const int N=1e5+5; int n;
//--------------------//
struct FHQ_Treap
{
struct FHQ_Treap_Node
{
int siz,val,key;
int ls,rs;
}t[N];
int tot,root; int new_node(int val)
{
t[++tot].val=val;
t[tot].key=rand();
t[tot].siz=1;
return tot;
}
void push_up(int rt)
{
t[rt].siz=t[t[rt].ls].siz+t[t[rt].rs].siz+1;
return;
}
void split(int rt,int &x,int &y,int v)
{
if(!rt){x=y=0;return;}
if(t[rt].val<=v)split(t[rt].rs,t[x=rt].rs,y,v);
else split(t[rt].ls,x,t[y=rt].ls,v);
push_up(rt);
return;
}
int merge(int x,int y)
{
if(!x||!y)return x|y;
if(t[x].key<t[y].key){t[x].rs=merge(t[x].rs,y);push_up(x);return x;}
t[y].ls=merge(x,t[y].ls);
push_up(y);
return y;
}
void ins(int val)
{
int x=0,y=0;
split(root,x,y,val-1);
root=merge(merge(x,new_node(val)),y);
return;
}
void del(int val)
{
int x=0,y=0,z=0;
split(root,x,z,val),split(x,x,y,val-1);
root=merge(merge(x,y=merge(t[y].ls,t[y].rs)),z);
return;
}
int rk(int val)
{
int x=0,y=0,res=0;
split(root,x,y,val-1);
res=t[x].siz+1;
root=merge(x,y);
return res;
}
int kth(int k)
{
int now=root;
while(true)
{
if(k<=t[t[now].ls].siz)now=t[now].ls;
else if(k==t[t[now].ls].siz+1)return t[now].val;
else k-=t[t[now].ls].siz+1,now=t[now].rs;
}
}
int pre(int val)
{
int now=root,res=0;
while(true)
{
if(!now)return res;
if(val<=t[now].val)now=t[now].ls;
else res=t[now].val,now=t[now].rs;
}
}
int suf(int val)
{
int now=root,res=0;
while(true)
{
if(!now)return res;
if(val>=t[now].val)now=t[now].rs;
else res=t[now].val,now=t[now].ls;
}
}
}F;
//--------------------//
int main()
{
n=rd();
for(int op,x,i=1;i<=n;i++)
{
op=rd(),x=rd();
if(op==1)F.ins(x);
else if(op==2)F.del(x);
else if(op==3)printf("%d\n",F.rk(x));
else if(op==4)printf("%d\n",F.kth(x));
else if(op==5)printf("%d\n",F.pre(x));
else printf("%d\n",F.suf(x));
}
return 0;
}

\(\color{royalblue}{P3391}\)

板子。

$\text{Code}$:
#include<bits/stdc++.h>
#define LL long long
#define UN unsigned
using namespace std;
//--------------------//
const int N=1e5+5; struct FHQ_Treap
{
struct FHQ_Treap_Node
{
int val,siz,ls,rs,key;
bool lazy;
}t[N];
int root,tot;
int new_node(int val)
{
t[++tot]={val,1,0,0,rand(),false};
return tot;
}
void tag(int rt)
{
swap(t[rt].ls,t[rt].rs);
t[rt].lazy^=1;
return;
}
void push_up(int rt)
{
t[rt].siz=t[t[rt].ls].siz+t[t[rt].rs].siz+1;
return;
}
void push_down(int rt)
{
if(!t[rt].lazy)
return;
tag(t[rt].ls);
tag(t[rt].rs);
t[rt].lazy^=1;
return;
}
void split(int rt,int &x,int &y,int siz)
{
if(!rt){x=y=0;return;}
push_down(rt);
if(t[t[rt].ls].siz>=siz)split(t[rt].ls,x,t[y=rt].ls,siz);
else split(t[rt].rs,t[x=rt].rs,y,siz-t[t[rt].ls].siz-1);
push_up(rt);
}
int merge(int x,int y)
{
if(!x||!y)return x|y;
push_down(x),push_down(y);
if(t[x].key<t[y].key){t[x].rs=merge(t[x].rs,y);push_up(x);return x;}
t[y].ls=merge(x,t[y].ls);
push_up(y);
return y;
}
void change(int l,int r)
{
int x,y,z;
split(root,x,z,r);
split(x,x,y,l-1);
tag(y);
root=merge(x,merge(y,z));
return;
}
void Tprint(int rt)
{
if(!rt)
return;
push_down(rt);
Tprint(t[rt].ls);
printf("%d ",t[rt].val);
Tprint(t[rt].rs);
return;
}
}T;
int n,m;
//--------------------//
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
T.root=T.merge(T.root,T.new_node(i));
for(int l,r,i=1;i<=m;i++)
scanf("%d%d",&l,&r),T.change(l,r);
T.Tprint(T.root);
return 0;
}

2. 樹套樹

3.1. 介紹

樹套樹可以用來維護(hù)二維的信息。

顧名思義,樹套樹就是一個(gè)數(shù)據(jù)結(jié)構(gòu)套上另一個(gè)數(shù)據(jù)結(jié)構(gòu),一般來講內(nèi)部維護(hù)的信息都需要可合并,通過外層數(shù)據(jù)結(jié)構(gòu)合并內(nèi)層信息來達(dá)到維護(hù)二維信息的目的。

內(nèi)層數(shù)據(jù)結(jié)構(gòu)需要滿足動(dòng)態(tài)開點(diǎn),外層數(shù)據(jù)結(jié)構(gòu)如果可行則采用樹狀數(shù)組維護(hù)以減小常數(shù),一般情況下樹狀數(shù)組套線段樹較為通用。

3.2. 常用技巧

3.2.1. 動(dòng)態(tài)的區(qū)間內(nèi)偏序問題

樹狀數(shù)組維護(hù)一維,線段樹維護(hù)另一維,在符合第一維要求的樹狀數(shù)組上查詢第二維符合要求的信息,修改是簡單的。

3.2.2. 動(dòng)態(tài)第 \(k\) 小

靜態(tài)第 \(k\) 小采用可持久化線段樹,每一個(gè)位置都繼承前一位置的信息,然后前綴相減。

動(dòng)態(tài)第 \(k\) 小只要在樹狀數(shù)組的維護(hù)方式上進(jìn)行繼承信息即可。

3. LCT

3.1. 介紹

3.1.1. 基本概念

LCT 全名 Link-Cut-Tree,動(dòng)態(tài)樹,是用來維護(hù)動(dòng)態(tài)森林的數(shù)據(jù)結(jié)構(gòu)。

它支持以下操作(需要保證任意操作時(shí)刻維護(hù)的都為森林):

  • 連邊。
  • 斷邊。
  • 換根。
  • 提取路徑信息。

LCT 的大體思路是將每棵樹拆分為若干條鏈,并用平衡樹維護(hù)鏈中節(jié)點(diǎn),維護(hù)關(guān)鍵字為節(jié)點(diǎn)深度,每一條鏈的狀態(tài)都是動(dòng)態(tài)的。

由于 LCT 結(jié)構(gòu)的特殊性,一般我們用 Splay 維護(hù)鏈,更加抽象的,我們實(shí)際上并不直接利用類似 \(\mathrm{build}\) 的東西將樹劃分成若干鏈,我們在需要的時(shí)候動(dòng)態(tài)維護(hù)我們需要的鏈,這基于了 Splay 方便的各種操作。

在維護(hù)的時(shí)候,對于每一個(gè)節(jié)點(diǎn),我們選出至多一個(gè)兒子作為實(shí)兒子,令節(jié)點(diǎn)到實(shí)兒子的邊為實(shí)邊,剩余邊為虛邊。實(shí)邊組成的鏈成為實(shí)鏈,因?yàn)閷?shí)鏈?zhǔn)俏覀兯x擇的,所以 LCT 的才是靈活多變的,請牢記我們的實(shí)鏈?zhǔn)遣粩嘧兓ゾS護(hù)信息的。

3.1.2. 輔助樹

我們用 Splay 以節(jié)點(diǎn)深度為關(guān)鍵字維護(hù)每條實(shí)鏈上的點(diǎn),虛邊連接了一棵棵 Splay,每個(gè) Splay 的根節(jié)點(diǎn)都有一條虛邊指向其維護(hù)原鏈頂?shù)?strong>父節(jié)點(diǎn)。以這樣的方式連接,一棵樹上的多個(gè) Splay 就組成了一棵輔助樹,多棵輔助樹就構(gòu)成了我們的 LCT。

一顆輔助樹有如下性質(zhì):

  • 中序遍歷每棵 Splay 得到的點(diǎn)序列,對應(yīng)其維護(hù)鏈從上至下的一條路徑。
  • 輔助樹節(jié)點(diǎn)與原樹節(jié)點(diǎn)一一對應(yīng)
  • 每棵 Splay 根節(jié)點(diǎn)父節(jié)點(diǎn)并不為空,其用虛邊指向了此 Splay 維護(hù)原鏈的父節(jié)點(diǎn)。需要注意的,根節(jié)點(diǎn)并不是其父節(jié)點(diǎn)的子節(jié)點(diǎn)(認(rèn)父不認(rèn)子)。

由于輔助樹的以上性質(zhì),我們?nèi)魏尾僮鞫疾恍枰S護(hù)原樹,輔助樹可以在任何情況下提取出一棵原樹。

需要注意的:

  • 原樹的根不等于輔助樹的根,原樹的父節(jié)點(diǎn)指向不等于輔助樹的父節(jié)點(diǎn)指向。
  • 虛實(shí)鏈?zhǔn)强梢栽谳o助樹上進(jìn)行變換,實(shí)現(xiàn)了動(dòng)態(tài)的樹鏈剖分,這也是前文說到的“實(shí)鏈?zhǔn)遣粩嘧兓ゾS護(hù)信息的”。

至于為什么在操作過程中需要翻轉(zhuǎn) Splay,目的是保證復(fù)雜度,具體證明大概是論文級的,這里不會(huì)提及,只需要記住即可。

3.1.3 實(shí)現(xiàn)過程

以洛谷模板題為例,進(jìn)行實(shí)現(xiàn)過程的講解。

維護(hù)一個(gè)結(jié)構(gòu)體表示一個(gè)節(jié)點(diǎn),其中含有以下信息:

\(fa\) \(son_{1/0}\) \(val\) \(sum\) \(siz\) \(lazy\)
父節(jié)點(diǎn) 子節(jié)點(diǎn) 此節(jié)點(diǎn)權(quán)值 此節(jié)點(diǎn)在 Splay 中的子樹異或和 此節(jié)點(diǎn)在 Splay 中的子樹大小 翻轉(zhuǎn)標(biāo)記

介紹 LCT 的核心函數(shù)之前先給出兩個(gè) Splay 的函數(shù)(\(t\) 是我們的節(jié)點(diǎn)結(jié)構(gòu)體數(shù)組)。

void rotate(int rt)
{
int fa=t[rt].fa,gfa=t[fa].fa,gs=get(rt),gfs=get(fa);
bool flag=che_rt(fa);
t[fa].son[gs]=t[rt].son[!gs],t[t[rt].son[!gs]].fa=fa;
t[rt].son[!gs]=fa,t[fa].fa=rt,t[rt].fa=gfa;
if(!flag)
t[gfa].son[gfs]=rt;
push_up(fa),push_up(rt);
return;
}
void splay(int rt)
{
push_down_(rt);
for(int now=t[rt].fa;!che_rt(rt);rotate(rt))
if(!che_rt(now=t[rt].fa))
rotate((get(now)==get(rt))?now:rt);
return;
}

rotate() 函數(shù)進(jìn)行單旋操作,splay() 函數(shù)將節(jié)點(diǎn)旋至其所在 Splay 的根節(jié)點(diǎn)。與正常 Splay 不同的是,我們需要判斷一個(gè)節(jié)點(diǎn)是否為其所在 Splay 的根(che_rt() 函數(shù)的作用),同時(shí)也請注意翻轉(zhuǎn)標(biāo)記的下傳。

接下來我們介紹 LCT 的核心操作。

void access(int rt)
{
for(int lst=0;rt;lst=rt,rt=t[rt].fa)
{
splay(rt);
t[rt].son[1]=lst;
push_up(rt);
}
return;
}

此函數(shù)作用是把某節(jié)點(diǎn)到當(dāng)前輔助樹的根路徑上的點(diǎn)合并為一棵新的 Splay,具體過程如下:

  • 現(xiàn)將當(dāng)前節(jié)點(diǎn)旋至其所在 Splay 的根。
  • 將上一節(jié)點(diǎn)接到當(dāng)前節(jié)點(diǎn)上(這樣直接實(shí)現(xiàn)了新鏈的合并與原來 Splay 邊的斷開)。
  • 更新當(dāng)前節(jié)點(diǎn)信息。
  • 跳轉(zhuǎn)到父親,重復(fù)操作直到跳至根。

我們的剩余函數(shù)都以 access() 函數(shù)為基礎(chǔ)進(jìn)行操作,接下來介紹其他的函數(shù)。

  • tag() 用于對節(jié)點(diǎn)打上旋轉(zhuǎn)標(biāo)記。
void tag(int rt)
{
swap(t[rt].son[0],t[rt].son[1]);
t[rt].lazy^=1;
return;
}
  • che_rt() 用于檢查節(jié)點(diǎn)是否為 Splay 的根。
bool che_rt(int rt)
{
return (t[t[rt].fa].son[0]!=rt&&t[t[rt].fa].son[1]!=rt);
}
  • get() 用于找到當(dāng)前節(jié)點(diǎn)是其父節(jié)點(diǎn)的哪個(gè)兒子。
int get(int rt)
{
return ((t[t[rt].fa].son[1]==rt)?1:0);
}
  • push_up() 更新當(dāng)前節(jié)點(diǎn)信息。
void push_up(int rt)
{
t[rt].siz=t[t[rt].son[0]].siz+t[t[rt].son[1]].siz+1;
t[rt].sum=t[t[rt].son[0]].sum^t[t[rt].son[1]].sum^t[rt].val;
return;
}
  • push_down() 下傳標(biāo)記。
void push_down(int rt)
{
if(t[rt].lazy!=0)
{
tag(t[rt].son[0]);
tag(t[rt].son[1]);
t[rt].lazy=0;
}
return;
}
  • push_down_() 下傳當(dāng)前節(jié)點(diǎn)至 Splay 根節(jié)點(diǎn)的標(biāo)記(從上至下)。
void push_down_(int rt)
{
if(!che_rt(rt))
push_down_(t[rt].fa);
push_down(rt);
}
  • make_rt() 使當(dāng)前節(jié)點(diǎn)變?yōu)檩o助樹的根。
void make_rt(int rt)
{
access(rt);
splay(rt);
tag(rt);
return;
}
  • find_rt() 查詢當(dāng)前節(jié)點(diǎn)所在輔助樹的根(請考慮 splay() 的過程,不難得出結(jié)論)。
int find_rt(int rt)
{
access(rt);
splay(rt);
while(t[rt].son[0])
{
push_down(rt);
rt=t[rt].son[0];
}
splay(rt);
return rt;
}
  • check() 查詢兩節(jié)點(diǎn)是否連通。
bool check(int x,int y)
{
make_rt(x);
return (find_rt(y)==x);
}
  • link() 連邊(先判連通)。
void link(int x,int y)
{
if(!check(x,y))
t[x].fa=y;
}
  • cut() 斷邊(判相連,仍然考慮實(shí)現(xiàn)過程即可理解)。
void cut(int x,int y)
{
if(check(x,y)&&t[x].siz<=2)
t[y].fa=t[x].son[1]=0;
}
  • split() 分離一條鏈,正是前文提到的“提取路徑信息”。
int split(int x,int y)
{
make_rt(x);
access(y);
splay(y);
return y;
}
  • change() 單點(diǎn)修改(并不是所有的題都有)。
void change(int rt,int val)
{
splay(rt);
t[rt].val=val;
push_up(rt);
return;
}

對于模板題的構(gòu)建至此結(jié)束,LCT 的拓展性較強(qiáng),具體題目還需具體分析。

3.2. 常用技巧

3.2.1 基礎(chǔ)技巧

對于維護(hù)操作應(yīng)多考慮優(yōu)化,可以復(fù)雜化 push_up() 函數(shù),但要注意代碼結(jié)構(gòu)的簡潔性,并盡可能減少代碼量與數(shù)據(jù)結(jié)構(gòu)的操作難度,即使可能使復(fù)雜度變?yōu)樯粤樱ㄔ跓o風(fēng)險(xiǎn)前提下)。

3.2.?咕咕咕

咕咕咕

3.3. 題目

\(\color{blueviolet}{P3690}\)

板子。

$\text{Code}$:
#include<bits/stdc++.h>
#define LL long long
#define UN unsigned
using namespace std;
//--------------------//
const int N=1e5+5; struct LCT
{
struct Tree_Node
{
int fa,son[2];
int val,sum,siz;
int lazy;
}t[N];
void tag(int rt)
{
swap(t[rt].son[0],t[rt].son[1]);
t[rt].lazy^=1;
return;
}
bool che_rt(int rt)
{
return (t[t[rt].fa].son[0]!=rt&&t[t[rt].fa].son[1]!=rt);
}
int get(int rt)
{
return ((t[t[rt].fa].son[1]==rt)?1:0);
}
void push_up(int rt)
{
t[rt].siz=t[t[rt].son[0]].siz+t[t[rt].son[1]].siz+1;
t[rt].sum=t[t[rt].son[0]].sum^t[t[rt].son[1]].sum^t[rt].val;
return;
}
void push_down(int rt)
{
if(t[rt].lazy!=0)
{
tag(t[rt].son[0]);
tag(t[rt].son[1]);
t[rt].lazy=0;
}
return;
}
void push_down_(int rt)
{
if(!che_rt(rt))
push_down_(t[rt].fa);
push_down(rt);
}
void rotate(int rt)
{
int fa=t[rt].fa,gfa=t[fa].fa;
int gs=get(rt),gfs=get(fa);
bool flag=che_rt(fa);
t[fa].son[gs]=t[rt].son[!gs];
t[t[rt].son[!gs]].fa=fa; t[rt].son[!gs]=fa;
t[fa].fa=rt;
t[rt].fa=gfa;
if(!flag)
t[gfa].son[gfs]=rt;
push_up(fa),push_up(rt);
return;
}
void splay(int rt)
{
push_down_(rt);
for(int now=t[rt].fa;!che_rt(rt);rotate(rt))
if(!che_rt(now=t[rt].fa))
rotate((get(now)==get(rt))?now:rt);
return;
}
void access(int rt)
{
for(int lst=0;rt;lst=rt,rt=t[rt].fa)
{
splay(rt);
t[rt].son[1]=lst;
push_up(rt);
}
return;
}
void make_rt(int rt)
{
access(rt);
splay(rt);
tag(rt);
return;
}
int find_rt(int rt)
{
access(rt);
splay(rt);
while(t[rt].son[0])
{
push_down(rt);
rt=t[rt].son[0];
}
splay(rt);
return rt;
}
bool check(int x,int y)
{
make_rt(x);
return (find_rt(y)==x);
}
void link(int x,int y)
{
if(!check(x,y))
t[x].fa=y;
}
void cut(int x,int y)
{
if(check(x,y)&&t[x].siz<=2)
t[y].fa=t[x].son[1]=0;
}
int split(int x,int y)
{
make_rt(x);
access(y);
splay(y);
return y;
}
void change(int rt,int val)
{
splay(rt);
t[rt].val=val;
push_up(rt);
return;
}
}L;
//--------------------//
int n,m;
//--------------------//
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&L.t[i].val);//L.t[i].sum=L.t[i].val;
for(int op,x,y,i=1;i<=m;i++)
{
scanf("%d%d%d",&op,&x,&y);
if(op==0)
printf("%d\n",L.t[L.split(x,y)].sum);
else if(op==1)
L.link(x,y);
else if(op==2)
L.cut(x,y);
else
L.change(x,y);
}
return 0;
}

總結(jié)

以上是生活随笔為你收集整理的「Note」数据结构方向 - 数据结构进阶的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

中文日韩在线视频 | 日本资源中文字幕在线 | 久久免费国产 | 三上悠亚一区二区在线观看 | 成人国产精品久久久久久亚洲 | 亚a在线| 黄色免费网站下载 | 中文字幕视频播放 | 日韩中文字幕国产 | 在线看的毛片 | 国产亚洲一区二区三区 | 欧美日韩二区三区 | 99精品在线看 | 中文字幕免费久久 | 精品久久久久久久久久久久久 | 亚洲视频资源在线 | 婷婷在线色 | 色中色亚洲 | 九九久| 国产伦精品一区二区三区四区视频 | 天天草夜夜 | 国产成人久久精品 | 国产色拍 | 欧美激情综合五月色丁香 | 亚洲精品免费在线观看视频 | 亚洲精品视频免费 | 亚洲日本在线视频观看 | 人人爽人人爱 | 在线播放国产精品 | 久久久99精品免费观看 | 在线蜜桃视频 | 亚洲不卡av一区二区三区 | 三级黄色网络 | 黄色成人免费电影 | 高清一区二区三区 | 精品国产一区二区三区久久 | 国产女人40精品一区毛片视频 | 成年人网站免费在线观看 | 美女久久久久久久久久 | 免费色视频在线 | 狠狠色丁香久久婷婷综合丁香 | 免费国产黄线在线观看视频 | 少妇18xxxx性xxxx片 | 亚洲精品一区二区三区高潮 | 国产99黄| 特级西西444www高清大视频 | 91视频在线网址 | 在线观看国产永久免费视频 | 毛片1000部免费看 | 国产精品视频在线观看 | 婷婷在线色 | 色综合久久88色综合天天人守婷 | 91高清一区| 免费在线观看91 | 丝袜av网站 | 欧美成人xxxx | 久久国产精品二国产精品中国洋人 | 午夜10000| 中文字幕中文字幕 | 天天操夜夜逼 | 91久久精 | 99精品视频网 | 日韩久久久久久久久久久久 | 久久久久成人精品免费播放动漫 | 久草在线免费播放 | 91精彩视频在线观看 | 国产99久久九九精品 | 91成人看片 | 亚洲天堂网视频 | av中文在线播放 | 91精品爽啪蜜夜国产在线播放 | 亚洲精品99久久久久久 | www.狠狠操.com| 成人久久综合 | 亚洲日本在线一区 | 美女网站视频久久 | 美国三级黄色大片 | 久久免费高清视频 | 日韩免费网址 | 国产视频 久久久 | 青草视频免费观看 | 超碰夜夜| 麻豆系列在线观看 | 中文字幕高清视频 | 黄色资源网站 | 9在线观看免费高清完整 | 成人小视频在线 | 久草在线资源网 | 免费看黄电影 | 国产精品久久久久久久久久ktv | 最新av网站在线观看 | 亚洲视频播放 | 中文字幕影片免费在线观看 | 国产乱对白刺激视频不卡 | 在线黄av | 精品在线观看国产 | 国产手机精品视频 | 综合久久网 | 在线看中文字幕 | 久久精品视频在线播放 | 播五月婷婷 | 国产精品久久久久久久久久久久午夜 | 黄色小说视频在线 | 国产在线p| 91九色九色 | 中文字幕乱码在线播放 | 在线免费观看视频一区 | 日本久久成人 | 国产精品免费在线视频 | 日韩欧美在线高清 | 在线观看免费av网 | 中文字幕人成乱码在线观看 | 伊人一级 | 日韩精品一区二区在线观看视频 | 成人免费视频在线观看 | 五月天久久精品 | 三级av中文字幕 | 久久精品欧美一区二区三区麻豆 | 久久精品亚洲精品国产欧美 | 天天摸天天弄 | 美女网站色免费 | 国产精品久久久久久久久久久免费看 | 欧美va天堂va视频va在线 | 午夜视频黄 | av黄色av | 欧美一区二区三区免费观看 | 国产精品一区二区在线观看 | 欧美黑人性爽 | 久久99亚洲精品久久 | 亚洲精品字幕在线观看 | 免费成人黄色av | 国产aa精品 | 天堂视频一区 | 天天射天天射 | 91av在线免费 | 91九色精品女同系列 | 91精品欧美 | 国产一区二区三区免费在线 | 美女啪啪图片 | 日韩av线观看 | 人人澡超碰碰97碰碰碰软件 | 不卡电影免费在线播放一区 | 国产视频一区二区在线播放 | 色激情五月 | 日本中文不卡 | 在线中文字幕视频 | 99精品国产高清在线观看 | 五月婷在线 | 日韩精品视频网站 | 粉嫩av一区二区三区入口 | 日韩欧美在线视频一区二区 | 久久午夜精品视频 | 久久精品屋 | 最新国产精品视频 | 97精品国产97久久久久久粉红 | 久久网址 | 中文字幕av在线免费 | 国产精品欧美在线 | 成人午夜精品 | 香蕉精品在线观看 | 国产精品乱码久久久久久1区2区 | 偷拍福利视频一区二区三区 | 91精品久久久久久综合乱菊 | 中文字幕视频播放 | 欧美先锋影音 | 992tv在线| 91av视频在线观看免费 | 久久免费国产精品 | 日韩在线视频精品 | 久久影院中文字幕 | 在线观看视频在线观看 | 日本精品xxxx | 91麻豆精品91久久久久同性 | 深夜免费福利网站 | 国产精品免费在线观看视频 | 亚洲精品mv在线观看 | 91中文字幕在线播放 | 国产日韩欧美在线看 | av在线色 | 黄色亚洲 | 精品一二三区 | 成人中文字幕+乱码+中文字幕 | 人人澡人人澡人人 | 九九九热精品免费视频观看 | 免费看的黄色小视频 | 人人看黄色| 久久免费视频3 | 久久久久麻豆 | 日韩中文在线播放 | 日韩 在线a| 97在线视频免费看 | 99r精品视频在线观看 | 成人av免费在线 | 在线视频福利 | 国产精品五月天 | 狠狠狠的干 | 精品一区二区亚洲 | 久久免费电影网 | 亚洲黄色成人网 | 天堂av中文字幕 | 99久久久久久久久久 | 精品在线观看一区二区 | 日韩mv欧美mv国产精品 | 欧美成人理伦片 | 91亚洲精品久久久蜜桃 | 国产成人区| 69视频永久免费观看 | 国产18精品乱码免费看 | 久久成人一区 | 国产成人精品午夜在线播放 | 最新日韩在线观看 | 国产91精品一区二区绿帽 | 91色在线观看视频 | av一区在线 | 久久久精品高清 | 成人动态视频 | 天天操操操操操 | 欧美日韩一区二区免费在线观看 | 婷婷色婷婷 | 国产一区二区免费在线观看 | 中文字幕视频三区 | 日日夜色 | 欧美日韩亚洲在线观看 | 中文字幕久久精品亚洲乱码 | 在线亚洲高清视频 | 亚洲日韩欧美一区二区在线 | 国产亚洲精品综合一区91 | 午夜视频在线观看一区二区三区 | 欧美性黑人 | 97在线观看视频 | 成年人黄色免费网站 | 亚洲女人天堂成人av在线 | 狠狠狠狠狠狠狠狠 | 久久精品欧美日韩精品 | 色婷婷亚洲综合 | 亚洲美女视频在线观看 | 黄色h在线观看 | 操操色| 97超视频 | 激情xxxx| 免费看久久 | 久草在线免费在线观看 | 高清不卡一区二区三区 | 国产99免费 | 亚洲涩涩一区 | 亚洲成av人影院 | 视频在线观看入口黄最新永久免费国产 | 亚洲永久字幕 | 成人app在线免费观看 | 久久国产精品久久精品国产演员表 | 俺要去色综合狠狠 | 91视频国产免费 | 97免费在线观看视频 | 99精品视频中文字幕 | 69夜色精品国产69乱 | 日本中文字幕电影在线免费观看 | 国产一级片免费播放 | 麻花传媒mv免费观看 | 久久免费成人精品视频 | 欧美在线观看视频免费 | 成人在线观看资源 | 国内精品久久久久影院日本资源 | 国产97在线看 | 亚洲精品在线网站 | 免费视频91蜜桃 | 婷婷在线精品视频 | 永久免费视频国产 | 999国内精品永久免费视频 | 成年人免费在线观看网站 | 九九爱免费视频在线观看 | 天天干天天干天天 | 91精品伦理 | 久久婷婷一区二区三区 | 亚洲视频电影在线 | 一区二区激情视频 | 操操操av| 免费在线观看av网站 | 日韩av视屏在线观看 | 国产精品久久久久久婷婷天堂 | 九九热免费精品视频 | 国产免费又粗又猛又爽 | 中文字幕在线观看完整 | 久久一区精品 | 精品在线观看一区二区 | 超碰在线人人草 | 亚洲国产无 | 久久综合色一综合色88 | 四虎影视精品永久在线观看 | 婷婷色中文 | av大全在线观看 | 狠狠色伊人亚洲综合网站色 | 黄色影院在线观看 | 91福利影院在线观看 | 91视频免费网址 | 久久久av免费 | 女人高潮一级片 | 成人天堂网 | av大全在线播放 | 99久久久久 | 久久国产精品成人免费浪潮 | 在线免费视 | 亚洲综合色激情五月 | 日韩特级黄色片 | 亚洲国产资源 | 国产高清99 | 麻花传媒mv免费观看 | 好看的国产精品视频 | 久久精品久久精品久久精品 | 蜜桃av久久久亚洲精品 | 久久成人免费视频 | 国产精品国产毛片 | 黄色精品一区 | 精品久久一区二区 | 黄色一级大片在线免费看国产一 | 久久午夜精品影院一区 | 91经典在线| 99中文字幕在线观看 | 久久精品亚洲 | 久久五月天综合 | 五月婷婷开心中文字幕 | 99视频这里有精品 | 六月丁香激情网 | 中文字幕资源站 | 一区二区三区高清在线观看 | 97人人看 | 日韩欧美91 | 四虎国产免费 | 91亚洲精品久久久蜜桃借种 | 精品嫩模福利一区二区蜜臀 | 亚洲精品字幕在线观看 | 亚洲作爱 | 婷婷中文字幕在线观看 | 日韩剧情 | 美女视频黄免费的久久 | 国产高清在线免费观看 | 人人干网站 | 成人亚洲欧美 | 国产色就色 | 又黄又爽又色无遮挡免费 | 天天草天天色 | 最新中文字幕在线观看视频 | 亚洲精品视频在线观看免费视频 | 日韩精品不卡在线观看 | 欧美一级电影片 | 黄色视屏在线免费观看 | 国产精品女人久久久久久 | av在线h | 色综合www| 超碰午夜 | 欧美91视频 | 又黄又爽又刺激 | 91成人精品一区在线播放69 | 久久av影视| 97狠狠干| 亚洲黑丝少妇 | 色婷婷国产精品 | 午夜久久影院 | 91黄色视屏| 免费观看国产精品视频 | 免费精品在线 | 激情五月亚洲 | 国产拍在线 | 夜夜爽88888免费视频4848 | 国产人在线成免费视频 | 久久av高清 | 韩国精品福利一区二区三区 | 久久男女视频 | 国产91丝袜在线播放动漫 | 欧美精品少妇xxxxx喷水 | 久久久亚洲麻豆日韩精品一区三区 | 国产成在线观看免费视频 | 一区二区三区四区不卡 | 亚洲区另类春色综合小说校园片 | 国产人在线成免费视频 | 在线观看国产v片 | 精品一区在线看 | 久久国产剧场电影 | 婷婷四房综合激情五月 | 亚洲精品视频在线播放 | 亚洲免费婷婷 | 1024手机在线看 | 中文字幕丝袜一区二区 | av综合 日韩 | 亚洲精品在线观看的 | 欧美日韩另类在线观看 | 久久久久久黄色 | 97视频在线免费 | 九九九国产 | 黄色三级网站在线观看 | 免费男女羞羞的视频网站中文字幕 | 91成人观看 | 国产经典av | 亚洲精品xxxx | 五月婷婷久久丁香 | 婷婷日| 午夜精品久久久久久中宇69 | 人人玩人人添人人澡超碰 | 色综合久久久久综合 | 麻豆av一区二区三区在线观看 | 色婷婷色| 激情婷婷综合网 | 亚洲女人天堂成人av在线 | 国产尤物在线 | 日韩在线观看视频网站 | 国产成人亚洲在线观看 | 成人资源站 | 天天摸天天操天天爽 | 国产精品wwwwww | 亚洲涩涩网站 | 国内成人精品2018免费看 | 91精品欧美一区二区三区 | 麻豆视频免费播放 | 超碰个人在线 | 国产精品美女久久久网av | 精品女同一区二区三区在线观看 | 99精品免费在线观看 | 综合久久久久久 | 日韩一区二区三区高清免费看看 | 欧美国产日韩激情 | 日韩成人黄色 | 国产高清日韩欧美 | 在线视频专区 | 91九色在线视频观看 | 国产日韩欧美在线一区 | 日本在线观看一区二区三区 | 久草在线一免费新视频 | 亚洲综合导航 | 久久影院中文字幕 | 一区电影 | 91视频91蝌蚪| 激情片av| 日韩羞羞 | 丁香婷婷综合五月 | 精品在线视频一区二区三区 | 欧美成年性 | 在线免费日韩 | 色吊丝在线永久观看最新版本 | 色婷婷福利 | 人人超碰在线 | 在线观看色网站 | 高清不卡免费视频 | 欧美精品v国产精品 | 麻豆精品在线 | 亚洲精品视频在线免费 | 天天综合网天天综合色 | 欧洲成人av | 在线国产一区二区三区 | 久久天天躁夜夜躁狠狠85麻豆 | 99久久精品国产一区二区三区 | 人人爽夜夜爽 | 国产免费小视频 | 国产精品18久久久久久久 | www.狠狠干| 97品白浆高清久久久久久 | 国产小视频国产精品 | 美女视频久久 | 最近中文字幕国语免费高清6 | 久久精品久久99 | 欧美网址在线观看 | 日韩成人高清在线 | 久艹视频在线观看 | 亚洲成aⅴ人在线观看 | 久久手机免费视频 | av片中文 | 人人搞人人爽 | 四虎永久免费在线观看 | 国产精品嫩草影院99网站 | www.狠狠色 | 亚洲每日更新 | 亚洲精品黄色在线观看 | 综合黄色网 | 欧美日韩在线观看一区二区三区 | 日日成人网| 精品一区二区在线观看 | 91片黄在线观 | 91精品国产91p65 | 最新日韩视频在线观看 | 亚洲综合色视频 | 99 视频 高清 | 精品国产乱码久久久久久三级人 | 婷婷综合导航 | 久久精品视频免费播放 | 天天综合久久综合 | 99在线高清视频在线播放 | 久久激情五月激情 | 国产视频色 | 亚洲黄色免费电影 | 91精品国产高清自在线观看 | 在线观看免费一区 | 丁香婷婷综合五月 | 天天狠狠 | 国产精品入口麻豆 | 在线亚洲欧美视频 | 99在线观看精品 | 亚洲激情在线观看 | 91桃色视频| 久久久久北条麻妃免费看 | 六月丁香激情综合 | 欧美精品在线一区二区 | 日韩网站在线看片你懂的 | 日韩成人xxxx | 欧美日韩在线视频免费 | 丁香六月天婷婷 | 久久精品99国产精品酒店日本 | 91九色视频网站 | 亚洲在线观看av | 9色在线视频 | 成人一区二区三区在线观看 | av成人免费| 伊人色综合久久天天 | 久久久久久久电影 | 成人精品在线 | 成人免费精品 | 日本性久久 | 奇米网网址 | 91女神的呻吟细腰翘臀美女 | 国产不卡毛片 | 亚洲在线激情 | 婷婷在线色| 91精品视频播放 | 青草视频网 | 99超碰在线播放 | 久久嗨| 国产黑丝袜在线 | 在线观看黄网站 | 欧美日韩一区二区三区不卡 | 精品在线小视频 | 国产91精品久久久久 | 日本中文乱码卡一卡二新区 | 国产精品久99 | 久久99久久99精品免费看小说 | 久久国产欧美日韩精品 | 国产一区免费视频 | 国产日韩中文字幕 | 少妇自拍av| 在线观看免费一区 | 日韩一区二区三区在线观看 | 日韩欧美一二三 | 国产日本在线观看 | 亚洲综合欧美激情 | 四虎影视成人精品国库在线观看 | 欧美日韩视频精品 | 麻豆一区在线观看 | 国产精品免费久久久 | 五月天色综合 | 91麻豆精品久久久久久 | 日本中文字幕影院 | 日韩av免费观看网站 | 亚洲专区免费观看 | 国产一级免费观看 | www亚洲精品 | 一区二区三区免费网站 | 能在线观看的日韩av | 国产午夜精品一区 | 国产精品在线看 | 福利视频网址 | 亚洲清纯国产 | 久久国产精品免费看 | 精油按摩av | 最近日本中文字幕 | 天天做天天爽 | 亚洲在线观看av | 91在线影院 | 五月婷婷综合激情网 | 久久av影视| 久久96| 日日操日日 | 玖玖在线资源 | 狠狠撸电影 | 丁香六月av| 久久av中文字幕片 | 99在线视频观看 | 五月天久久狠狠 | 精品在线观 | 婷婷伊人网 | av色综合 | 国产精品一区二区在线免费观看 | 涩涩网站在线播放 | 亚洲三级网 | 97av影院| 五月天综合色激情 | 日本深夜福利视频 | 国产精品成人在线 | 国产97色 | 日韩免费小视频 | 操久在线| 天天操天天摸天天射 | 99视频在线免费播放 | 97超碰国产在线 | 国产久视频| 五月综合色| 久久手机免费视频 | 久久伊99综合婷婷久久伊 | 国产一级黄大片 | 中文字幕在线影院 | 国产免费三级在线观看 | 91久久丝袜国产露脸动漫 | 日日操狠狠干 | 中文字幕国产精品一区二区 | www日韩视频 | 久久免费视频99 | 在线视频中文字幕一区 | 亚洲精品中文字幕视频 | 国产不卡在线视频 | 98精品国产自产在线观看 | 麻豆精品在线 | 久久韩国免费视频 | 国产精品久久久久久久久软件 | 国产精品久久久久影院日本 | 国色天香永久免费 | 91在线视频播放 | 在线视频18在线视频4k | 国产精品美女久久久网av | 精品在线观看一区二区三区 | 国产高清在线免费观看 | 国产精品1区2区在线观看 | 久青草影院 | 欧美,日韩 | www178ccom视频在线 | 97综合视频| 伊人网av | 国产精品黄色 | 九色视频网站 | 国产成人久久av977小说 | 免费看一级| 五月婷社区 | 亚洲精选在线观看 | 国产在线观看你懂得 | 国产在线日本 | 综合网伊人 | 久久超碰97| 国产精品爽爽爽 | www.99在线观看| 久久精品国产精品 | 99免费在线观看视频 | 91av在线播放视频 | 久久综合视频网 | 五月婷色 | 国产成人一区二区三区免费看 | 久久免费视频一区 | 一本一本久久a久久精品牛牛影视 | 日韩av中文字幕在线 | 超碰在线个人 | 97中文字幕| 嫩嫩影院理论片 | 日韩区欠美精品av视频 | 狠狠精品 | 国产四虎在线 | 精品国产亚洲日本 | 国产高清在线 | 四虎www.| 九九日九九操 | 91免费黄视频 | 久久国产视屏 | 日韩久久久久久久久 | 欧美成天堂网地址 | 成人免费毛片aaaaaa片 | 日韩中文字幕视频在线 | 国产亚洲欧美日韩高清 | 久久短视频 | 免费视频三区 | 手机av在线网站 | 999成人网 | 国产中文字幕网 | 97精品国产一二三产区 | av先锋中文字幕 | 国产成人精品一区二区三区免费 | 成人午夜影院在线观看 | 99在线精品视频 | 亚洲一区网 | 99电影 | 成人av电影免费在线播放 | 欧美日韩免费一区二区 | 国产在线不卡精品 | www.午夜| 99自拍视频在线观看 | 视频在线观看入口黄最新永久免费国产 | 欧美日韩国内在线 | 免费观看久久 | 黄污视频网站大全 | 一区二区三区日韩在线 | 在线观看亚洲视频 | 激情视频二区 | 成人观看视频 | 国产69精品久久99不卡的观看体验 | 97精品国产aⅴ | 精品你懂的 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 97国产| 日韩精品专区在线影院重磅 | 美女在线免费观看视频 | 日韩精品高清不卡 | 免费在线播放 | 在线看v片 | 97超级碰碰碰碰久久久久 | 国产成人精品午夜在线播放 | 手机在线日韩视频 | 国产日产亚洲精华av | 视频在线一区二区三区 | 国产精品白浆 | 五月婷社区 | 人人干干人人 | 国产一区视频在线播放 | 国产福利免费看 | 天堂网av 在线 | 91精品国产欧美一区二区成人 | av在线免费在线 | 国产高清无线码2021 | 极品嫩模被强到高潮呻吟91 | 欧美午夜精品久久久久久浪潮 | 91精品夜夜 | 六月丁香在线观看 | 九九久久精品 | 久久精品一区二区三区国产主播 | 国产精品一区二区三区四 | 一色av | 日本一区二区不卡高清 | 天天操天天舔天天干 | 亚洲国产精品成人女人久久 | 欧美激情综合五月色丁香 | 欧美在线视频一区二区三区 | 色综合久久久久 | 91成人精品国产刺激国语对白 | av成人免费在线看 | 久久国产热 | 亚洲精品在线一区二区 | 欧美999| 亚洲视频 在线观看 | 一区二区三区视频网站 | 亚洲成人午夜av | 亚洲首页| 911国产精品 | 国产色资源 | 九九有精品 | 国产大尺度视频 | 久久综合偷偷噜噜噜色 | 日韩精品电影在线播放 | 视频在线亚洲 | 色综合激情网 | 亚洲自拍偷拍色图 | 日韩电影一区二区在线 | 国产日产精品一区二区三区四区 | 国产精品久久久久久久久久久久午夜片 | 亚洲一区二区黄色 | 91视频 - x99av | 国产色a在线观看 | 97超碰超碰| www国产在线 | 97在线免费观看 | 免费高清在线观看成人 | 亚洲黄色成人av | 中文字幕亚洲欧美 | 亚洲精品一区二区网址 | 日韩黄色在线观看 | 亚洲综合干 | 亚洲精品www久久久久久 | 国产99久久久欧美黑人 | 久久人人爽人人爽 | a爱爱视频 | 91九色视频网站 | 久久精品系列 | 激情欧美xxxx | 欧美一级视频免费看 | 久久久久久久久久久久99 | a久久久久久| 天天做天天爱天天爽综合网 | 国产精品久久在线 | 三级黄色大片在线观看 | 美女网站在线观看 | 欧美精品久久久久久久亚洲调教 | 欧洲色综合 | 麻豆av电影| 久久大片 | 亚洲第一区精品 | 特级西西444www大胆高清无视频 | 国产成人av在线影院 | 欧美日韩高清国产 | 国产自在线 | 国产麻豆精品一区二区 | 在线观看亚洲成人 | 97超碰免费 | 国产精品一区免费观看 | 午夜久久视频 | 国产在线 一区二区三区 | 亚洲精品动漫在线 | 在线观看www91 | 午夜电影久久久 | 成人国产精品入口 | 在线免费试看 | 精品九九久久 | 国产精品久久久一区二区 | 国产福利91精品一区二区三区 | 一级黄色在线视频 | 综合网伊人 | 黄色在线网站噜噜噜 | 天天综合色网 | 国内成人精品视频 | 久久欧美视频 | 91大神在线观看视频 | 在线看毛片网站 | 99成人精品 | 国产91学生粉嫩喷水 | 亚洲五月综合 | 国产精品小视频网站 | 99精品视频在线观看视频 | 黄色免费高清视频 | 狠狠干美女| 久久草精品| www.天天草| a久久久久久 | 欧洲高潮三级做爰 | 免费男女羞羞的视频网站中文字幕 | 13日本xxxxxⅹxxx20 | 日韩电影在线观看一区 | 97成人在线免费视频 | 激情五月视频 | 国内揄拍国内精品 | av中文字幕网站 | 色综合久久精品 | 97精品国产一二三产区 | 国产视频在线免费观看 | 91精品婷婷国产综合久久蝌蚪 | 在线观看中文字幕av | 国产黄大片在线观看 | 天天综合导航 | 91最新中文字幕 | 91丨九色丨蝌蚪丨对白 | 欧美福利久久 | 国产美女精品人人做人人爽 | 色吊丝av中文字幕 | 中文乱码视频在线观看 | 国产一区视频免费在线观看 | 99性视频| 日韩系列在线观看 | 欧美久久久久久久久中文字幕 | 97视频在线免费观看 | 99免费| 日本三级在线观看中文字 | 亚洲香蕉在线观看 | 亚洲精品国产精品久久99 | 日日干网 | 亚洲高清国产视频 | 日韩一二区在线观看 | 国产3p视频 | 91在线看片 | 成人午夜电影免费在线观看 | 国产精品视频免费在线观看 | 婷婷久久精品 | 免费成人在线电影 | 日日干夜夜骑 | 日韩精品在线一区 | 国产免费观看久久 | 爱爱一区 | 久久精品综合视频 | 国产精品久久一区二区三区, | 久久久福利影院 | 91丨九色丨蝌蚪丨老版 | 欧洲精品久久久久毛片完整版 | 天天操天天操天天操天天操天天操天天操 | 欧美日韩高清国产 | 亚洲爽爽网 | 久久精品99久久 | 国产高清精 | 日韩大片在线免费观看 | 97精品国产一二三产区 | 五月天久久精品 | 日本一区二区三区免费观看 | 黄色小说在线免费观看 | 日韩字幕在线 | 久久无码精品一区二区三区 | 国产精品18久久久久vr手机版特色 | 亚洲欧美色婷婷 | 天天干天天操天天干 | 97av.com| 麻豆精品在线 | 国产美女在线观看 | 免费成人黄色片 | 一区二区在线不卡 | 黄色成人av | 美女黄网站视频免费 | 亚洲视频大全 | 超碰97人人爱 | 激情婷婷综合 | 18做爰免费视频网站 | 亚洲国产精品999 | 日韩视频三区 | 久久精品8 | 久草精品视频在线看网站免费 | 精品一区二区视频 | 五月婷婷另类国产 | 欧洲亚洲精品 | 一区电影 | 狠狠色丁香久久婷婷综合丁香 | 天天射天天做 | 久久躁日日躁aaaaxxxx | 免费视频久久久 | 亚洲精品五月天 | 992tv在线成人免费观看 | 亚洲精品美女视频 | 欧美巨大 | 亚洲综合色婷婷 | 久久久久国产一区二区三区 | 97超碰人人模人人人爽人人爱 | 成人免费观看大片 | 日本精品视频在线 | 99久久99| 国产一区二区精品91 | 国产精品第十页 | 欧洲精品亚洲精品 | 国产成人1区 | 亚洲一区久久久 | 久久99精品久久久久婷婷 | 国产91精品久久久久 | 国产在线视频一区 | 日韩极品视频在线观看 | 黄色毛片一级片 | 99视频精品免费观看, | 国产剧情一区 | 午夜影视剧场 | 久久久久久久久久久久久久免费看 | 久久精品国产一区二区三 | 午夜三级影院 | 精品亚洲一区二区三区 | 国产美女精品人人做人人爽 | 国产视频一二三 | 99热都是精品 | 精品久久久久国产免费第一页 | 亚洲精品影视 | 91传媒在线播放 | 久久久午夜视频 | 中文字幕日韩电影 | 久久99视频免费 | 国产精品2018 | 黄色国产在线观看 | 黄色www免费 | 日批网站免费观看 | 欧美日韩a视频 | 久久久电影 | av大全免费在线观看 | 免费福利在线视频 | 狠狠干干 | 国产成人精品一区二区在线 | 婷婷播播网| 久久精品2 | 99精品视频网站 | 在线观看中文字幕网站 | 国产亚洲观看 | www久久com| av福利超碰网站 | 中文字幕av最新更新 | 久草精品视频在线播放 | av千婊在线免费观看 | 国产精品密入口果冻 | 日本三级香港三级人妇99 | 青草视频在线免费 | 精品国产观看 | 久久久午夜精品福利内容 | 久久在线看 | 免费色网站 | 日本久久成人 | 日韩在线视频一区 | 66av99精品福利视频在线 | 日韩精品电影在线播放 | 精品主播网红福利资源观看 | 欧美韩日在线 | 丁香婷婷久久 | 亚洲欧美婷婷六月色综合 | 亚洲一区二区黄色 | www.888av| 人人超在线公开视频 | 欧美午夜理伦三级在线观看 | 国产伦精品一区二区三区… | 97色免费视频| 天天天天射 | 亚洲 中文 在线 精品 | 久久精品免费 | 精品久久久999 | 黄色三级免费片 | 99久久久成人国产精品 | www.xxxx欧美 | 亚洲污视频 | 深爱激情亚洲 | 992tv在线 | 免费a级黄色毛片 | 日日干日日 | 亚洲国产剧情av | 国产高清视频在线播放一区 | 久久精品99国产精品亚洲最刺激 | 992tv在线成人免费观看 | 日韩精品免费在线观看 | 免费看一级黄色大全 | 国产91对白在线播 | 午夜天使 | 一级做a爱片性色毛片www | 中文在线最新版天堂 | 99视频一区二区 | av网站免费线看精品 | 日日日操 |