3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

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

编程问答

肥宅快乐主席树

發(fā)布時間:2025/7/14 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 肥宅快乐主席树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 靜態(tài)主席樹
    • 算法理解
      • 例題
      • 講解
    • 練習
      • 樹上第k小
      • 毒瘤逆序對
      • 求區(qū)間種類
      • 簡單詢問
      • 簡單查詢
      • 矩陣主席樹大暴力!!!
  • 動態(tài)主席樹
    • 講解
      • 例題
      • 算法講解
      • 代碼
    • 練習
      • 不是動態(tài)主席樹的帶修題。
  • 可持久化主席樹
    • 例題
    • 思路
      • 單點修改
      • 區(qū)間修改
      • 代碼
    • 小結
  • 小結
  • 查錯

靜態(tài)主席樹

算法理解

例題

時間限制: 1 Sec 內存限制: 128 MB 【問題描述】 給n(1<=n<=100000)個數(shù)字a[1],a[2],......,a[n](0<=a[i]<=1000000000),m(1<=m<=100000)次詢問l到r之間的第k小的值。 【輸入文件】 第一行為n和m。 接下來一行輸入n個數(shù)。 接下來m行,每行三個數(shù)l,r和k。 【輸出文件】 m行,每行對應一個答案。 【輸入樣例】 7 3 1 5 2 6 3 7 4 2 5 3 4 4 1 1 7 3 【輸出樣例】 5 6 3

講解

例題思路

首先,看到這道題目,我們是懵逼的,甚至很迷茫。

但是仔細思考,我們都知道線段樹是維護整段的區(qū)間第\(k\)大,但是如何找到一段呢?

這是有個想法閃過,就是我們可以將\(l-r\)區(qū)間內的數(shù)字扔到一個權值線段樹內進行查詢。

這便是一種較暴力的做法了。

主席樹?前綴和?

主席樹本質上可以說是缺了許多東西的線段樹(不嚴謹),但是這樣子讓主席樹更加的靈活,具有更多的功能。

但同時伴隨的常數(shù)大的問題。

主席樹主要支持這些操作:

  • 修改一個位置上的數(shù)字(動態(tài)主席樹才支持)。
  • 查詢區(qū)間第\(k\)大。
  • 合并兩棵主席樹(有限制)
  • 加減兩棵主席樹(有限制)
  • 我們要提取\(l-r\)區(qū)間內的數(shù)字,而主席樹又支持加減,這不由讓我們想到了前綴和。

    想到了個思路我們就要去實現(xiàn)他。

    主席樹是棵殘缺的線段樹,也就是說只有一條鏈也是可以的,那我們就把每個位置都當成一棵權值主席樹,然后把這個點插進去。

    如下圖(注意是權值線段樹):

    圖好丑博主手繪差就不多吐槽了,好吧。

    代碼如下:

    void link(int &now,int l,int r,int c) {if(!now)now=++len;tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); }

    你可以認為這是一個數(shù)組,那么他離前綴和數(shù)組還有一個步驟,就是從前加到后,也就是\(merge\)

    merge

    合并是什么東西?

    先說合并的限制:合并的話一般限于兩棵主席樹維護范圍相同、維護值的意義是相同的,且目前兩棵主席樹里面維護的點不重復(有時候可以重,看是權值還是位置)。

    而合并,也是有點講究的。

    如圖是一個將第一個主席樹\(A\)合并到第二棵主席樹\(B\)里面的一個例子,首先,我們需要將\(A\)相同的節(jié)點(指維護范圍一樣的點)的\(c\)值添加到\(B\)的節(jié)點里面去,同時給\(B\)補上\(B\)沒有\(A\)有的點,補得方法不是新建節(jié)點,而是直接把兒子認到\(A\)的節(jié)點上面,也就是說上圖合并完后樹的樣子應長這樣:

    而主席樹或者線段樹一般都是跳兒子的,這樣做貌似也沒多大問題喲。

    那么我們就可以從前到后合并的。

    但是同時也有個問題,不要把三棵樹合并在一棵樹上,不然總會有個節(jié)點會被改變,導致前面的主席樹改過了,出現(xiàn)一坨鍋,所以主席樹最好不要把許多樹合并到一棵樹上(但可以按順序合并),當然也存在特殊情況,畢竟總有萬一。

    那么這些前綴和是可以預處理的,復雜度也是\(O(nlogn)\),因為一條鏈你再怎么跳也只能跳到\(logn\)個節(jié)點,然后合并\(n\)次。

    順便提一提:合并只要你不改變前面樹的形態(tài),在不改變時間復雜度的方法,可以有一些其他的方法進行建樹(也是前綴和,但是可能每棵樹有好幾條鏈)。

    void merge(int &x,int y)//y合并到x里面去 {if(x==0){x=y;return ;}if(y==0)return ;tr[x].c+=tr[y].c;merge(tr[x].l,tr[y].l);merge(tr[x].r,tr[y].r); }
    快樂加減

    加法一般要求兩棵主席樹維護的點沒有重合,而減法一般是要求減樹維護的點集是被減樹的子集,同時一般要求維護的東西相同,范圍相同。

    當然,這里維護的點的意思一般是位置,不如說一個維護的是1、3、5號點,另外一個是2、4號點,而不是權值重復,即使是權值主席樹,一般也是這樣的。

    利用加減,有時候我們可以進行容斥原理來得到我們想要的點的子集。

    這里我們就用類似前綴和的方法:拿\(r\)的主席樹減去\(l-1\)的主席樹,就得出了區(qū)間的主席樹,然后查詢。

    int cale(int x/*減樹*/,int y/*被減樹*/,int l,int r,int k) {if(l==r)return ls[l].x;int mid=(l+r)/2,kc=tr[tr[x].l].c-tr[tr[y].l].c;//左邊區(qū)間有多少個數(shù)字。if(k<=kc)return cale(tr[x].l,tr[y].l,l,mid,k);else return cale(tr[x].r,tr[y].r,mid+1,r,k-kc); }
    完整代碼

    既然詢問代碼都出來了,那就代碼一起貼出來吧,當然你樂意的話加個離散化也是可以的。

    #include<cstdio> #include<cstring> #define N 110000 #define M 5100000 #define INF 1000000000//數(shù)字的范圍 using namespace std; struct node {int lc,rc,c; }tr[M];int len=0,rt[N]/*根節(jié)點數(shù)組*/; void link(int &now,int l,int r,int c) {if(!now)now=++len;//新建節(jié)點tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int calc(int x,int y,int l,int r,int k) {if(l==r)return l;int zhe=tr[tr[y].lc].c-tr[tr[x].lc].c,mid=(l+r)/2;if(zhe<k)return calc(tr[x].rc,tr[y].rc,mid+1,r,k-zhe);else return calc(tr[x].lc,tr[y].lc,l,mid,k); } int n,m; int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){int x;scanf("%d",&x);link(rt[i],0,INF,x);merge(rt[i],rt[i-1]);}for(int i=1;i<=m;i++){int l,r,k;scanf("%d%d%d",&l,&r,&k);printf("%d\n",calc(rt[l-1],rt[r],0,INF,k));}return 0; }

    練習

    樹上第k小

    時間限制: 2 Sec 內存限制: 128 MB 【題目描述】 給定一棵N(1<=N<=100000)個節(jié)點的樹,每個點有一個權值,對于M(1<=M<=100000)個詢問(x,y,k),你需要回答x和y這兩個節(jié)點間第k小的點權。 【輸入數(shù)據(jù)】 第一行兩個整數(shù)N,M。 第二行有N個整數(shù),其中第i個整數(shù)表示點i的權值。 后面N-1行每行兩個整數(shù)(x,y),表示點x到點y有一條無向邊。 最后M行每行兩個整數(shù)(x,y,k),表示一組詢問。 【輸出數(shù)據(jù)】 M行,表示每個詢問的答案。 【輸入樣例】 8 5 105 2 9 3 8 5 7 7 1 2 1 3 1 4 3 5 3 6 3 7 4 8 2 5 1 1 5 2 7 8 3 1 6 3 3 4 2 【輸出樣例】 2 9 7 105 9

    一看就就是一道毒瘤題,我們可以發(fā)現(xiàn)\(x->y\)的路徑可以分為兩部分(設\(z=lca(x,y)\)):\(x->z,y->z\)\(z\)重合了,在后面的容斥原理中會解決這問題),那么我們仍然要把\(x->y\)提取出來,那么我們就設\(x\)的主席樹代表的\(x\)到根節(jié)點這些點權值的主席樹,那么就可以一個DFS解決主席樹預處理的問題了,提取的話我們也可以用容斥原理解決:

    (\([x]\)代表\(x\)的主席樹,以此類推)\([x]+[y]-[z]-[fa(z)]\)。這樣不就好起來了嗎?(滑稽)

    //這里的LCA是用ST表的 #include<cstdio> #include<cstring> #include<algorithm> #define M 410000 #define NN 5100000 using namespace std; struct node {int y,next; }a[M];int len,last[M]; inline void ins(int x,int y){len++;a[len].y=y;a[len].next=last[x];last[x]=len;} int st[25][M],log2[M],in[M],out[M],dep[M],cnt,fa[M]; void dfs(int x) {st[0][++cnt]=x;in[x]=cnt;for(int k=last[x];k;k=a[k].next){int y=a[k].y;if(fa[x]!=y){fa[y]=x;dep[y]=dep[x]+1;dfs(y);st[0][++cnt]=x;}}out[x]=cnt; }//設1為根節(jié)點,處理DFS序 inline int myminz(int x,int y){return dep[x]<dep[y]?x:y;} void first() {dfs(1);for(int i=2;i<=cnt;i++)log2[i]=log2[i>>1]+1;for(int i=1;i<=log2[cnt];i++){for(int j=cnt-(1<<i)+1;j>=1;j--)st[i][j]=myminz(st[i-1][j],st[i-1][j+(1<<(i-1))]);} }//ST表預處理 inline int lca(int x,int y) {int tx=out[x],ty=in[y];tx>ty?tx^=ty^=tx^=ty:0;int k=log2[ty-tx+1];return myminz(st[k][tx],st[k][ty-(1<<k)+1]); } //LCA struct TREE {int lc,rc,c; }tr[NN];int trlen; void link(int &x,int l,int r,int c) {if(!x)x=++trlen;tr[x].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[x].lc,l,mid,c);else link(tr[x].rc,mid+1,r,c); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int ask(int x,int y,int z1,int z2,int l,int r,int k)//x+y-z1-z2 {if(l==r)return l;int zhe=tr[tr[x].lc].c+tr[tr[y].lc].c-tr[tr[z1].lc].c-tr[tr[z2].lc].c,mid=(l+r)/2;if(zhe<k)return ask(tr[x].rc,tr[y].rc,tr[z1].rc,tr[z2].rc,mid+1,r,k-zhe);else return ask(tr[x].lc,tr[y].lc,tr[z1].lc,tr[z2].lc,l,mid,k); }//主席樹 int n,m,rt[M],zhi[M]/*原數(shù)*/; int qwq[M]/*存編號*/,qaq[M]/*離散化后的值*/;//這不是離散化嗎 void ddfs(int x) {for(int k=last[x];k;k=a[k].next){int y=a[k].y;if(fa[x]!=y){link(rt[y],1,n,qaq[y]);merge(rt[y],rt[x]);ddfs(y);}} }//處理每個點的主席樹 inline bool cmp(int x,int y){return zhi[x]<zhi[y];} int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&zhi[i]);qwq[i]=i;}for(int i=1;i<n;i++){int x,y;scanf("%d%d",&x,&y);ins(x,y);ins(y,x);}sort(qwq+1,qwq+n+1,cmp);for(int i=1;i<=n;i++)qaq[qwq[i]]=i;first();link(rt[1],1,n,qaq[1]);ddfs(1);for(int i=1;i<=m;i++){int l,r,k;scanf("%d%d%d",&l,&r,&k);if(l>r)l^=r^=l^=r;//異或的靈性交換int x=lca(l,r);printf("%d\n",zhi[qwq[ask(rt[l],rt[r],rt[fa[x]],rt[x],1,n,k)]]);}return 0; }

    毒瘤逆序對

    時間限制: 3 Sec 內存限制: 256 MB 【題目描述】 給你N(1<=N<=50000)個數(shù),M(1<=M<=50000)個詢問,每個詢問(l,r)求l到r的逆序對數(shù)。 注:逆序指的是a[i]>a[j]并且i<j 【輸入數(shù)據(jù)】 第一行兩個整數(shù)N,M。 第二行有N個整數(shù)。 最后M行每行一組操作。 【輸出數(shù)據(jù)】 M行,表示每個詢問的答案。 【輸入樣例】 5 3 3 1 2 5 4 1 3 2 1 3 5 【輸出樣例】 2 1 1 【提示】 如果被卡常,請加上 #pragma GCC optimize("Ofast")

    你以為這是一道SB題?不,他不是,他是分塊加主席樹暴力AC的題目。

    首先,我們思考一下,如果我們能預處理\(ans[i][j]\)表示\(i\)\(j\)的逆序對數(shù),不就好起來了嗎?

    不談時間,空間都讓你崩潰的一批,而\(O(n^{2}logn)\)的預處理時間更是黃(TLE的顏色是黃色,MLE也是,在那個OJ上)的飛起。

    那么我們就應該考慮一些毒瘤的優(yōu)化,這時,我們就想到了\(ans[i][j]\)表示\(i\)\(i+(1<<j)-1\)的位置上有多少逆序對數(shù)。

    將詢問分成兩段,解決前半段,后半段用快樂主席樹。

    但是如何預處理便成了一大難題。

    于是我們想到了減復雜度的好幫手,分塊!

    \(ans[i][j]\)表示的是\(i\)塊的開頭到\(j\)有幾個逆序對。

    用樹狀數(shù)組預處理就可以解決了。

    而前半段也是用主席樹輕輕松松搞定的事情。

    #pragma GCC optimize("Ofast")//毒瘤優(yōu)化 #include<cstdio> #include<cstring> #include<algorithm> #define sN 310 #define N 51000 #define M 1100000 using namespace std; int n,m; struct node {int lc,rc,c; }tr[M];int len=0,rt[N]; void link(int &now,int l,int r,int c) {if(!now)now=++len;tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int calc(int x,int y,int k,int l,int r) {if(l==r)return 0;int mid=(l+r)/2;if(k<=mid)return calc(tr[x].lc,tr[y].lc,k,l,mid);else return calc(tr[x].rc,tr[y].rc,k,mid+1,r)+(tr[tr[y].lc].c-tr[tr[x].lc].c); } //快樂主席樹 int bst[N]; int lowbit(int x){return x&-x;} void change(int x,int c) {while(x<=n){bst[x]+=c;x+=lowbit(x);} } int getsum(int x) {int ans=0;while(x){ans+=bst[x];x-=lowbit(x);}return ans; } //樹狀數(shù)組 int ans[sN][N],id[N],ll[sN],rr[sN],cnt,a[N],cc; int sor[N],LS[N]; inline bool cmp(int x,int y){return a[x]<a[y];} void fenkuai(int l,int r) {ll[++cnt]=l;rr[cnt]=r;for(int i=l;i<=r;i++)id[i]=cnt;for(int i=1;i<=n;i++)bst[i]=0;for(int i=l;i<=n;i++){change(LS[i],1);ans[cnt][i]=ans[cnt][i-1]+(i-l+1-getsum(LS[i]));} } //處理塊的信息 inline int mymin(int x,int y){return x<y?x:y;} int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){sor[i]=i;scanf("%d",&a[i]);}sort(sor+1,sor+n+1,cmp);for(int i=1;i<=n;i++)a[sor[i]]==a[sor[i-1]]?LS[sor[i]]=LS[sor[i-1]]:LS[sor[i]]=i;//離散化for(int i=1;i<=n;i++){if(i*i>=n){cc=i;break;}}int now=0;for(now=1;now<=n;now+=cc)fenkuai(now,mymin(now+cc-1,n));//分塊for(int i=1;i<=n;i++){link(rt[i],1,n,LS[i]);merge(rt[i],rt[i-1]);}for(int i=1;i<=m;i++){int l,r;scanf("%d%d",&l,&r);if(l>r)l^=r^=l^=r; int x=id[l-1]+1;int answer=ans[x][r],ed=mymin(rr[x-1],r);if(l<=ed){for(int i=l;i<=ed;i++)answer+=calc(rt[i-1],rt[r],LS[i],1,n);}printf("%d\n",answer);}return 0; }

    求區(qū)間種類

    時間限制: 1 Sec 內存限制: 128 MB 【題目描述】 給n(1<=n<=50000)個數(shù),a[1],a[2],......,a[n](0<=a[i]<=1000000),m(1<=m<=200000)個詢問。每個詢問包含兩個數(shù)l和r,求這個區(qū)間內不同數(shù)字的個數(shù)。 【輸入數(shù)據(jù)】 第一行兩個數(shù)n和m。 接下來一行n個數(shù)。 接下來m行,每行兩個數(shù)l和r。 【輸出數(shù)據(jù)】 m行,對應相應的詢問。 【輸入樣例】 6 1 2 3 4 3 5 3 1 2 3 5 2 6 【輸出樣例】 2 2 4

    這道題就是很明顯的不同的建樹方式。

    這道題的思路是什么呢?

    這個區(qū)間只有\(r\)個數(shù)的話,這道題很明顯會簡單不少,畢竟如果這個數(shù)字是最后出現(xiàn)的話,就給他設為\(1\),否則為\(0\),然后前綴和一下。

    估計這樣的題目大部分人都會,但是放到這里就不會了。

    前面的主席樹都是幫助我們把區(qū)間提出來,這里不一樣了,是在確定\(r\)的情況下\(logn\)的時間求前綴和。

    也就是說假設這個點的權值出現(xiàn)過,那么我們在這棵主席樹不僅要將這個點設為\(1\),還要去前面設為\(0\)

    這不就好起來了嗎?

    #include<cstdio> #include<cstring> #define N 51000 #define M 1100000 using namespace std; struct node {int lc,rc,c; }tr[M];int len=0,rt[N]; void link(int &now,int l,int r,int c,int k) {if(!now)now=++len;tr[now].c+=k;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c,k);else link(tr[now].rc,mid+1,r,c,k); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int calc(int now,int x,int l,int r) {if(l==r)return tr[now].c&(l==x);int mid=(l+r)/2;if(x<=mid)return calc(tr[now].lc,x,l,mid);else return calc(tr[now].rc,x,mid+1,r)+tr[tr[now].lc].c; } int mp[M]; int n,m; int main() {scanf("%d",&n);for(int i=1;i<=n;i++){int x;scanf("%d",&x);if(mp[x]){link(rt[i],1,n,mp[x],-1);link(rt[i],1,n,i,1);merge(rt[i],rt[i-1]);//有過這個點}else{link(rt[i],1,n,i,1);merge(rt[i],rt[i-1]);//新點}mp[x]=i;}scanf("%d",&m);for(int i=1;i<=m;i++){int l,r;scanf("%d%d",&l,&r);printf("%d\n",calc(rt[r],r,1,n)-calc(rt[r],l-1,1,n));//1-r的區(qū)間}return 0; }

    簡單詢問

    時間限制: 2 Sec 內存限制: 128 MB 【題目描述】 給你n(1<=n<=100000)個數(shù),并給出m(1<=m<=100000)個詢問,每次給出(x,y,k),就是讓你求x到y(tǒng)這個區(qū)間,有多少個數(shù)小于等于k。 【輸入數(shù)據(jù)】 第一行兩個數(shù)n,m。 第二行有n個數(shù)。 接下來一行,每行一個詢問。 【輸出數(shù)據(jù)】 m行,每行對應一個詢問。 【輸入樣例】 10 10 0 5 2 7 5 4 3 8 7 7 3 9 6 4 5 0 2 4 1 2 10 4 1 2 0 4 6 5 6 6 1 5 7 3 2 6 7 6 8 3 【輸出樣例】 4 0 0 3 1 2 0 1 5 1

    弱智題,直接跳權值主席樹不就行了?

    #include<cstdio> #include<cstring> #include<algorithm> #define N 110000 #define M 3100000 using namespace std; struct node {int l,r,c; }tr[M];int root[N],cnt; int rt[N]; struct LSnode {int x,y; }ls[N]; int n,m; bool cmp(LSnode x,LSnode y){return x.x<y.x;}//離散化排序 void add(int &x,int l,int r,int k) {if(x==0)x=++cnt;tr[x].c++;if(l==r)return ;int mid=(l+r)/2;if(k<=mid)add(tr[x].l,l,mid,k);else add(tr[x].r,mid+1,r,k); } void merge(int &x,int y) {if(x==0){x=y;return ;}if(y==0)return ;tr[x].c+=tr[y].c;merge(tr[x].l,tr[y].l);merge(tr[x].r,tr[y].r); } int cale(int x,int y,int l,int r,int k) {if(l==r)return (tr[y].c-tr[x].c)&(l<k);//有一種情況是k>n,所以這里相當于一次特判int mid=(l+r)/2;if(k<=mid)return cale(tr[x].l,tr[y].l,l,mid,k);else return cale(tr[x].r,tr[y].r,mid+1,r,k)+(tr[tr[y].l].c-tr[tr[x].l].c); } int erfen(int x)//求在原數(shù)列中x的前驅的離散化值 {int l=1,r=n,mid,ans=-1;while(l<=r){mid=(l+r)/2;if(ls[mid].x<=x)ans=mid,l=mid+1;else r=mid-1;}return ans+1; } int main() { // freopen("1.in","r",stdin); // freopen("1.out","w",stdout);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&ls[i].x);ls[i].y=i;}sort(ls+1,ls+n+1,cmp);for(int i=1;i<=n;i++)rt[ls[i].y]=i;//離散化QMQfor(int i=1;i<=n;i++){add(root[i],1,n,rt[i]);merge(root[i],root[i-1]);}for(int i=1;i<=m;i++){int x,y,k;scanf("%d%d%d",&x,&y,&k);if(x>y)x^=y^=x^=y;printf("%d\n",cale(root[x-1],root[y],1,n,erfen(k)));}return 0; }

    簡單查詢

    時間限制: 2 Sec 內存限制: 1024 MB 【題目描述】 給一個長度為n(1<=n<=100000)的序列a1,a2,a3,......,an(1<=ai<=100000)。 m(1<=m<=100000)組詢問,每次詢問一個區(qū)間[l,r]。 詢問是否存在一個數(shù)在[l,r]中出現(xiàn)的次數(shù)大于(r-l+1)/2。如果存在,輸出這個數(shù),否則輸出0。 【輸入數(shù)據(jù)】 第一行兩個數(shù)n,m。 第二行n個數(shù)。 接下來m行,每行兩個數(shù)l,r,表示詢問[l,r]這個區(qū)間。 【輸出數(shù)據(jù)】 m行,每行對應一個詢問的答案。 【輸入樣例】 7 5 1 1 3 2 3 4 3 1 3 1 4 3 7 1 7 6 6 【輸出樣例】 1 0 3 0 4

    一樣權值主席樹

    往下跳看左子樹有木有滿足條件,滿足去左兒子,不滿足看右兒子,這種數(shù)字在區(qū)間內最多只有一個,左右兒子都沒有直接輸出\(false\)

    #include<cstdio> #include<cstring> #define N 110000 #define M 3100000 using namespace std; int xnum=0; inline int mymax(int x,int y){return x>y?x:y;} struct node {int lc,rc,c; }tr[M];int len=0,rt[N]; void link(int &now,int l,int r,int c) {if(!now)now=++len;tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int calc(int x,int y,int l,int r,int k) {if(l==r)return l;int mid=(l+r)>>1;if(tr[tr[y].lc].c-tr[tr[x].lc].c>k)calc(tr[x].lc,tr[y].lc,l,mid,k);//左兒子符不符合條件?else if(tr[tr[y].rc].c-tr[tr[x].rc].c>k)calc(tr[x].rc,tr[y].rc,mid+1,r,k);//右兒子符不符合條件?else return 0;//都不符合 } int n,m,a[N]; int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&a[i]);xnum=mymax(xnum,a[i]);}for(int i=1;i<=n;i++)link(rt[i],1,xnum,a[i]),merge(rt[i],rt[i-1]);for(int i=1;i<=m;i++){int l,r;scanf("%d%d",&l,&r);printf("%d\n",calc(rt[l-1],rt[r],1,xnum,(r-l+1)>>1));}return 0; }

    矩陣主席樹大暴力!!!

    時間限制: 1 Sec 內存限制: 128 MB 【問題描述】 給一個n*n的矩陣,給m個詢問,每次詢問(x1,y1)到(x2,y2)之間的第k小值。 這幾天做題遇到了一道這樣的題,原題是國家集訓隊梁盾的《矩陣乘法》,而原題必須要用整體二分,這對于一個天天寫主席樹的我非常痛苦,于是強迫癥的出了道強制在線弱化版本。【輸入文件】 第一行兩個數(shù)N,Q,表示矩陣大小和詢問組數(shù); 接下來N行N列一共N*N個數(shù),表示這個矩陣; 再接下來Q行每行5個數(shù)描述一個詢問:x1,y1,x2,y2,k表示找到以(x1,y1)為左上角、以(x2,y2)為右下角的子矩形中的第K小數(shù)。 這一組的x1,y1,x2,y2,k需異或lastans才可得到,lastans指的是上一組的答案,初始時為0。【輸出文件】 對于每組詢問輸出第K小的數(shù)。【輸入樣例】 2 2 2 1 3 4 1 2 1 2 1 0 0 3 3 2【輸出樣例】 1 3【數(shù)據(jù)范圍】 100%的數(shù)據(jù):N<=100,Q<=40000。 保證異或后的點位置正確提示 強制在線

    一開始看到這道題,慌張的一批,打算在預處理上做功夫,打了個代碼,中途想起來合并了多次會炸掉,重新理清思路,發(fā)現(xiàn)\(n\)很小,也就是說我們可以在詢問上打暴力!

    \((i,j)\)的主席樹表示的是在第\(j\)列中,\(1-i\)行的數(shù)字集合。(也是權值主席樹)

    那么我們在查詢\((x1,y1),(x2,y2)\)的時候,將\(y1->y2\)列的\(x2\)行主席樹全部弄到一個\(list\)里面,表示加法的主席樹,而將\(x1\)行的主席樹丟到另外一個\(list\)里面,表示的是減法的主席樹,然后每一層查詢的時候暴力查,加個離散化,時間復雜度:\((Qnlogn)\)(注:\(logn^{2}=2logn\),所以在這里省略了\(2\))。

    //在校園網(wǎng)上還能拿次優(yōu)解,笑死我了 #include<cstdio> #include<cstring> #include<algorithm> #define N 110 #define NN 11000 #define M 1100000 using namespace std; inline int mymax(int x,int y){return x>y?x:y;} struct node {int lc,rc,c; }tr[M];int len=0,rt[N][N]; void link(int &now,int l,int r,int c) {if(!now)now=++len;tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); } void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int li1[N],li2[N],top; inline void turn(int x) {if(x==0)for(int i=1;i<=top;i++)li1[i]=tr[li1[i]].lc,li2[i]=tr[li2[i]].lc;else for(int i=1;i<=top;i++)li1[i]=tr[li1[i]].rc,li2[i]=tr[li2[i]].rc; } int calc(int l,int r,int k) {if(l==r)return l;int mid=(l+r)/2,zz=0;for(int i=1;i<=top;i++)zz+=tr[tr[li1[i]].lc].c-tr[tr[li2[i]].lc].c;//暴力計算if(zz>=k){turn(0);return calc(l,mid,k);}else{turn(1);return calc(mid+1,r,k-zz);} } //主席樹 int n,m,nn,a[NN]; int id[NN],zhi[NN],cnt,ys[NN]; inline int num(int x,int y){return (x-1)*n+y-1;} inline bool cmp(int x,int y){return a[x]<a[y];} int main() {scanf("%d%d",&n,&m);nn=n*n-1;for(int i=0;i<=nn;i++){scanf("%d",&a[i]);id[i]=i;}sort(id,id+nn+1,cmp);a[0]=-999999999;for(int i=0;i<=nn;i++)zhi[id[i]]=(a[id[i]]==a[id[i-1]]?cnt:(ys[cnt+1]=a[id[i]],++cnt));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)link(rt[i][j],1,cnt,zhi[num(i,j)]),merge(rt[i][j],rt[i-1][j]);//向上合并}int lastans=0;for(int i=1;i<=m;i++){int x1,y1,x2,y2,k;scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&k);x1^=lastans;x2^=lastans;y1^=lastans;y2^=lastans;k^=lastans;top=0;for(int j=y1;j<=y2;j++)li1[++top]=rt[x2][j],li2[top]=rt[x1-1][j];//將要用到的主席樹塞進去lastans=ys[calc(1,cnt,k)];printf("%d\n",lastans);}return 0; }

    動態(tài)主席樹

    講解

    例題

    時間限制: 1 Sec 內存限制: 256 MB 【問題描述】 給n(1<=n<=50000)個數(shù)字,進行m(1<=m<=10000)次操作,有兩種操作: Q l r k:詢問l到r第k小的數(shù)。 C x k:改變第x個數(shù)的值為k。 【輸入文件】 第一行為n和m。 接下來一行n個數(shù)。 接下來m行為m個操作。 【輸出文件】 遇到Q操作就輸出。 【輸入樣例】 5 3 1 2 3 4 5 Q 2 5 2 C 4 9 Q 3 5 3 【輸出樣例】 3 9

    算法講解

    靜態(tài)主席樹就跟前綴和一樣,所以我們要修改就會很咕咕。

    這是就有大佬瞬間想到,樹套樹不就行了?

    對,就是樹套樹,樹狀數(shù)組套主席樹。

    但是靜態(tài)主席樹也要保留,不如說樹套樹保存的是修改的結果。

    保留靜態(tài)主席樹是為了空間更小一點,畢竟樹套樹的空間一次就是\(log^{2}n\)

    \(rt\)根數(shù)組要開兩倍,一個是靜態(tài)的,一個是與樹狀數(shù)組每個節(jié)點一一對應的。

    而樹狀數(shù)組每個節(jié)點的權值主席樹維護的則是樹狀數(shù)組維護區(qū)域的數(shù)字。

    當修改了\(i\)的值的時候,我們就在樹狀數(shù)組上查找維護\(i\)的節(jié)點,然后進入到主席樹中,將原來的數(shù)字的\(c\)減去\(1\),將現(xiàn)在的數(shù)字增加\(1\)

    同時查詢的時候,用前綴和的方法,在樹狀數(shù)組中得出這個區(qū)間目前增加或減少了多少個數(shù)字。

    更多的細節(jié)在代碼中標記出來了。

    代碼

    #include<cstdio> #include<cstring> #define N 51000 #define NN 110000 #define INF 10000000 #define M 5100000 using namespace std; int n,m; struct node {int lc,rc,c; }tr[M];int len; int a[N],rt[NN]; void link(int &x,int l,int r,int c,int k) {if(!x)x=++len;tr[x].c+=k;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[x].lc,l,mid,c,k);else link(tr[x].rc,mid+1,r,c,k); } inline int lowbit(int x){return x&-x;} int list[N],top,hehe[N],ti/*時間戳*/; inline void turn(int id)//細節(jié)1:為了在calc中跟著他一起跳設計的函數(shù)。 {for(int i=1;i<=top;i++){int x=list[i];if(id==0)a[x]=rt[x+n];else if(id==1)a[x]=tr[a[x]].lc;else if(id==2)a[x]=tr[a[x]].rc;} } inline void tiao(int x) {while(x){if(hehe[x]!=ti)list[++top]=x;hehe[x]=ti;/*這個點有木有跳過?*/x-=lowbit(x);} } void change(int x,int c,int k) {while(x<=n){link(rt[x+n],0,INF,c,k);x+=lowbit(x);} } int getsum(int x) {int ans=0;while(x){ans+=tr[tr[a[x]].lc].c;x-=lowbit(x);}return ans; } int calc(int x,int y,int ll,int rr,int l,int r,int k) {if(l==r)return l;int zhe=tr[tr[x].lc].c-tr[tr[y].lc].c+getsum(rr)-getsum(ll),mid=(l+r)/2;if(zhe<k){turn(2);return calc(tr[x].rc,tr[y].rc,ll,rr,mid+1,r,k-zhe);}else{turn(1);return calc(tr[x].lc,tr[y].lc,ll,rr,l,mid,k);} } int zhi[N]; void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&zhi[i]);link(rt[i],0,INF,zhi[i],1);merge(rt[i],rt[i-1]);}for(int i=1;i<=m;i++){char st[20];int x,y,z;scanf("%s",st+1);if(st[1]=='C'){scanf("%d%d",&x,&y);change(x,zhi[x],-1);zhi[x]=y;change(x,zhi[x],1);}else{scanf("%d%d%d",&x,&y,&z);if(x>y)x^=y^=x^=y;ti++;top=0;tiao(x-1);tiao(y);turn(0);printf("%d\n",calc(rt[y],rt[x-1],x-1,y,0,INF,z));}}return 0; }

    練習

    不是動態(tài)主席樹的帶修題。

    時間限制: 3 Sec 內存限制: 256 MB 【問題描述】 最近復習了一下帶修主席樹,于是出道水題給大家做,問題很簡單: 1、詢問區(qū)間k小值; 2、交換相鄰兩個數(shù)的權值。 【輸入文件】 第一行兩個數(shù)N,Q,表示序列大小和詢問組數(shù); 第一行輸入n個數(shù),表示原始序列。 接下來Q行, 當opt = 1時輸入三個數(shù) l,r,k詢問l~r區(qū)間第k小的數(shù) 當opt = 2時輸入一個數(shù)p 交換p和p + 1位置上的權值。 對于任何修改或詢問都需異或一個lastans, lastans表示上一個答案,初始值為0。 【輸出文件】 對于每組詢問輸出第K小的數(shù)。 【輸入樣例】 7 3 1 5 2 6 3 7 4 1 2 5 3 2 4 1 7 0 6 【輸出樣例】 5 3 【數(shù)據(jù)范圍】 如果被卡常,請使用#pragma GCC optimize("Ofast") 100%的數(shù)據(jù):N<=500000,Q<=500000。

    千萬不要信出題人,我就打了動態(tài)主席樹。。。(滿嘴粗話...)

    提一提:不用理\(x=n\)的情況。

    我們會發(fā)現(xiàn)交換其實對后面的樹是沒有影響的,有影響的只是\(x\)號點的主席樹而已。

    所以我們只要修改他就行了。

    這里提供三種思路:

  • 在修改的時候新增節(jié)點,等于自身原本的節(jié)點,然后在新增節(jié)點上修改,但是修改兩次需要新增兩條鏈。
  • 在修改的時候新增節(jié)點,等于\(x-1\)對應的節(jié)點,可以視作刪除了自己的值,只要新增\(x+1\)的值就行了,只需一條鏈。
  • 在修改的時候,將\(x\)的主席樹與\(x-1\)\(x+1\)的主席樹一起扔進詢問里面,看情況把\(x\)中一個點的左右兒子指向\(x-1\)\(x+1\)的主席樹中的點,因為都是相鄰的點,完成無添點修改,完成此題,最快做法。
  • #pragma GCC optimize("Ofast")//毒瘤出題人與卡常校內網(wǎng)的故事 #include<cstdio> #include<cstring> #include<algorithm> #define N 510000 #define M 11000000 using namespace std; inline int getz() {int x=0,f=1;char c=getchar();while(c<'0' || c>'9')c=='-'?f=-1:0,c=getchar();while(c<='9' && c>='0')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*f; }//日常快讀 int n,m; int a[N],id[N],zhi[N],ys[N],cnt; inline bool cmp(int x,int y){return a[x]<a[y];} //日常排序 struct node {int lc,rc,c; }tr[M];int rt[N],len; void link(int &now,int l,int r,int c) {if(!now)now=++len;tr[now].c++;if(l==r)return ;int mid=(l+r)/2;if(c<=mid)link(tr[now].lc,l,mid,c);else link(tr[now].rc,mid+1,r,c); } void llink(int x,int y,int z,int l,int r,int c1/*-1*/,int c2/*+1*/) {if(c1==c2)return ;int mid=(l+r)/2;if(c1<=mid && c2<=mid)llink(tr[x].lc,tr[y].lc,tr[z].lc,l,mid,c1,c2);else if(c1>mid && c2>mid)llink(tr[x].rc,tr[y].rc,tr[z].rc,mid+1,r,c1,c2);else if(c1<=mid && c2>mid)tr[y].lc=tr[x].lc,tr[y].rc=tr[z].rc;else tr[y].rc=tr[x].rc,tr[y].lc=tr[z].lc; }//傳說中的change void merge(int &x,int y) {if(!x){x=y;return ;}if(!y)return ;tr[x].c+=tr[y].c;merge(tr[x].lc,tr[y].lc);merge(tr[x].rc,tr[y].rc); } int calc(int x,int y,int l,int r,int k) {if(l==r)return l;int zz=tr[tr[x].lc].c-tr[tr[y].lc].c,mid=(l+r)/2;if(zz>=k)return calc(tr[x].lc,tr[y].lc,l,mid,k);else return calc(tr[x].rc,tr[y].rc,mid+1,r,k-zz); } int main() { // freopen("a.in","r",stdin); // freopen("a.out","w",stdout);n=getz();m=getz();for(register int i=1;i<=n;i++){a[i]=getz(),id[i]=i;}sort(id+1,id+n+1,cmp);a[0]=-999999999;for(register int i=1;i<=n;i++)a[id[i]]==a[id[i-1]]?zhi[id[i]]=cnt:(ys[++cnt]=a[id[i]],zhi[id[i]]=cnt);//離散化for(register int i=1;i<=n;i++)link(rt[i],1,cnt,zhi[i]),merge(rt[i],rt[i-1]);int last=0;for(register int i=1;i<=m;i++){int type,x,y,z;type=getz();if(type==1){x=getz(),y=getz(),z=getz();x^=last;y^=last;z^=last;printf("%d\n",last=ys[calc(rt[y],rt[x-1],1,cnt,z)]);}else{x=getz();x^=last;llink(rt[x-1],rt[x],rt[x+1],1,cnt,zhi[x],zhi[x+1]);zhi[x]^=zhi[x+1]^=zhi[x]^=zhi[x+1];}}return 0; }

    可持久化主席樹

    很多大佬都會說主席樹就是用來可持久化的,仔細想想也有道理,畢竟\(link\)的可操作性讓他支持了可持久化。

    例題

    【題目描述】 給出一個長度為n(1<=n<=100000)的序列a[1],a[2],a[3]......,a[n](1<=a[i]<=1000000000),有m個操作(1<=m<=100000)。 操作類型分為4種。 1 l r k:給l到r之間的數(shù)都加上k(1<=k<=10000)。 2 l r:詢問當前l(fā)到r的和。 3 l r h:詢問第h次修改(修改只指1操作)時l到r的和。 4 h:回到第h次修改的時候不再返回。(意思:接下來的修改是建立在第h次修改的模型上) 【輸入數(shù)據(jù)】 第一行兩個數(shù)n和m(n,m<=10^5)。 接下來一行n個數(shù)。 接下來m行m個操作。 【輸出數(shù)據(jù)】 每行對應一個詢問。 【輸入樣例】 10 5 1 2 3 4 5 6 7 8 9 10 2 4 4 2 1 10 2 2 4 1 3 6 3 2 2 4 【輸出樣例】 4 55 9 15

    某有練習啦,博主太菜啦,做題太少了。

    思路

    單點修改

    首先考慮給一個點加上\(k\)的話要怎么做?

    在不修改以前的操作的話要保留現(xiàn)在操作的節(jié)點,我們不可能說新建一個主席樹。

    但是,我們想起來主席樹有一種騷操作就是一個兒子可以是許多人的兒子。(綠~~)

    那么,也就是說我們只需要把涉及到需要修改\(c\)的節(jié)點新建,然后不需要的節(jié)點直接指向原來的就行了。

    LOOK,圖中標著\(1,2\)的代表的就是每個時間代表的主席樹的根節(jié)點。

    區(qū)間修改

    博主博主,區(qū)間修改莫不是一次次單點修改。你怎么這么聰明。

    區(qū)間修改,你一看到這個你一定要跳出一句代碼:

    #define 區(qū)間修改 lazy

    我們也是一樣的,把會改變的點復制出來,但是如果發(fā)現(xiàn)一個點的區(qū)間與目前的完全吻合,就打上懶標記,在單點查詢的時候,再把查詢時需要用到的點建出來,而區(qū)間查詢也是如此,空間復雜度就是\(O((n+m)logc)\)\(c\)為值域)。

    但是,有更優(yōu)秀的做法,當我們在打上標記的時候,查詢時不建點,而是選擇個東西存起來,讓下面點知道有標記,但不等同于下傳,只是在記錄答案的時候用一下,當時我驕傲的跟機房大佬說就叫\(Monkey\) \(Lazy\),然后就被大佬各種石錘:“這TM明明是永久化標記。”,然后就被大佬D爆了,QAQ。

    這種方法還有一個更NB的地方,回到第\(h\)次操作我們是可以直接等于到那次的\(len\)實現(xiàn)暴力刪點,而前面那種做法就得很難受的打內存池了。

    代碼

    總體思路是這樣,但我寫的挺丑的,仔細想想會發(fā)現(xiàn)有更優(yōu)美的寫法,所以我還是比同機房的大佬差了這么一點點的時間。

    //怎么感覺主席樹的代碼怎么加都是這么短 #include<cstdio> #include<cstring> #define N 110000 #define M 3100000 using namespace std; typedef long long LL; struct node {int lc,rc;LL c,la; }tr[M];int len,rt[N],cnt/*目前有幾次操作*/; int new_dian(){++len;tr[len].lc=tr[len].rc=tr[len].c=tr[len].la=0;return len;} LL ch;//你可以認為這是眾多函數(shù)中的輔助變量 void link(int &now,LL c,int l,int r) {if(!now)now=new_dian();tr[now].c+=ch;if(l==r)return ;LL mid=(l+r)/2;if(c<=mid)link(tr[now].lc,c,l,mid);else link(tr[now].rc,c,mid+1,r); } void change(int &now,int x,int l,int r,int ll,int rr) {if(!now)now=new_dian(),tr[now].c=tr[x].c,tr[now].la=tr[x].la;tr[now].c+=(rr-ll+1)*ch/*要增加多少值*/;if(l==ll && r==rr){tr[now].la+=ch;tr[now].lc=tr[x].lc;tr[now].rc=tr[x].rc;return ;}int mid=(l+r)/2;if(rr<=mid)change(tr[now].lc,tr[x].lc,l,mid,ll,rr),tr[now].rc=tr[x].rc;else if(mid+1<=ll)change(tr[now].rc,tr[x].rc,mid+1,r,ll,rr),tr[now].lc=tr[x].lc;else change(tr[now].lc,tr[x].lc,l,mid,ll,mid),change(tr[now].rc,tr[x].rc,mid+1,r,mid+1,rr); } //記錄答案 //這里其實是可以不用存在ch中的,可以直接(rr-ll+1)*lazy LL getsum(int now,int l,int r,int ll,int rr) {if(l==ll && r==rr)return tr[now].c+(r-l+1)*ch/*lazy非下傳下傳法*/;int mid=(l+r)/2;ch+=tr[now].la;if(rr<=mid)return getsum(tr[now].lc,l,mid,ll,rr);else if(mid+1<=ll)return getsum(tr[now].rc,mid+1,r,ll,rr);else{LL hehe=ch,ans=getsum(tr[now].lc,l,mid,ll,mid);ch=hehe;return getsum(tr[now].rc,mid+1,r,mid+1,rr)+ans;} } int n,m; int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%lld",&ch);link(rt[0],i,1,n);}for(int i=1;i<=m;i++){int type,x,y,z;scanf("%d",&type);if(type==1){scanf("%d%d%lld",&x,&y,&ch);rt[++cnt]=0;change(rt[cnt],rt[cnt-1],1,n,x,y);}else if(type==2){scanf("%d%d",&x,&y);ch=0;printf("%lld\n",getsum(rt[cnt],1,n,x,y));}else if(type==3){scanf("%d%d%d",&x,&y,&z);ch=0;printf("%lld\n",getsum(rt[z],1,n,x,y));}else{scanf("%d",&x);if(x!=cnt)len=rt[x+1]-1;cnt=x;}}return 0; }

    小結

    有人也許會問可持久化帶修區(qū)間第\(k\)小的\(rt\)為什么要開兩維,是不是我學了個假的可持久化,沒有。博主很良心的

    其實這個問題我也問了下機房的大佬,他是這么回答我的:

    主席樹支持可持久化原本就是因為他可以支持共用節(jié)點,比如\(FHQ\)就是一個活生生的例子。

    而區(qū)間第\(k\)小原本就是利用了主席樹的可持久化特性,用類似前綴和的方法做的,本身就相當于調用了主席樹可持久化的性質,再套個可持久化不就是雙重可持久化,那二維不也很正常嘛?

    所以大佬還是大佬呀。

    //怎么感覺主席樹的代碼怎么加都是這么短 #include<cstdio> #include<cstring> #define N 110000 #define M 3100000 using namespace std; typedef long long LL; struct node {int lc,rc;LL c,la; }tr[M];int len,rt[N],cnt/*目前有幾次操作*/; int new_dian(){++len;tr[len].lc=tr[len].rc=tr[len].c=tr[len].la=0;return len;} LL ch;//你可以認為這是眾多函數(shù)中的輔助變量 void link(int &now,LL c,int l,int r) {if(!now)now=new_dian();tr[now].c+=ch;if(l==r)return ;LL mid=(l+r)/2;if(c<=mid)link(tr[now].lc,c,l,mid);else link(tr[now].rc,c,mid+1,r); } void change(int &now,int x,int l,int r,int ll,int rr) {if(!now)now=new_dian(),tr[now].c=tr[x].c,tr[now].la=tr[x].la;tr[now].c+=(rr-ll+1)*ch/*要增加多少值*/;if(l==ll && r==rr){tr[now].la+=ch;tr[now].lc=tr[x].lc;tr[now].rc=tr[x].rc;return ;}int mid=(l+r)/2;if(rr<=mid)change(tr[now].lc,tr[x].lc,l,mid,ll,rr),tr[now].rc=tr[x].rc;else if(mid+1<=ll)change(tr[now].rc,tr[x].rc,mid+1,r,ll,rr),tr[now].lc=tr[x].lc;else change(tr[now].lc,tr[x].lc,l,mid,ll,mid),change(tr[now].rc,tr[x].rc,mid+1,r,mid+1,rr); } //記錄答案 //這里其實是可以不用存在ch中的,可以直接(rr-ll+1)*lazy LL getsum(int now,int l,int r,int ll,int rr) {if(l==ll && r==rr)return tr[now].c+(r-l+1)*ch/*lazy非下傳下傳法*/;int mid=(l+r)/2;ch+=tr[now].la;if(rr<=mid)return getsum(tr[now].lc,l,mid,ll,rr);else if(mid+1<=ll)return getsum(tr[now].rc,mid+1,r,ll,rr);else{LL hehe=ch,ans=getsum(tr[now].lc,l,mid,ll,mid);ch=hehe;return getsum(tr[now].rc,mid+1,r,mid+1,rr)+ans;} } int n,m; int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%lld",&ch);link(rt[0],i,1,n);}for(int i=1;i<=m;i++){int type,x,y,z;scanf("%d",&type);if(type==1){scanf("%d%d%lld",&x,&y,&ch);rt[++cnt]=0;change(rt[cnt],rt[cnt-1],1,n,x,y);}else if(type==2){scanf("%d%d",&x,&y);ch=0;printf("%lld\n",getsum(rt[cnt],1,n,x,y));}else if(type==3){scanf("%d%d%d",&x,&y,&z);ch=0;printf("%lld\n",getsum(rt[z],1,n,x,y));}else{scanf("%d",&x);if(x!=cnt)len=rt[x+1]-1;cnt=x;}}return 0; }

    小結

    有人也許會問可持久化帶修區(qū)間第\(k\)小的\(rt\)為什么要開兩維,是不是我學了個假的可持久化,沒有。博主很良心的

    其實這個問題我也問了下機房的大佬,他是這么回答我的:

    主席樹支持可持久化原本就是因為他可以支持共用節(jié)點,比如\(FHQ\)就是一個活生生的例子。

    而區(qū)間第\(k\)小原本就是利用了主席樹的可持久化特性,用類似前綴和的方法做的,本身就相當于調用了主席樹可持久化的性質,再套個可持久化不就是雙重可持久化,那二維不也很正常嘛?

    所以大佬還是大佬呀。

    查錯

    其實之前的話存在一點錯誤。

    不管你用什么方法建樹,比如從前往后合并,或者是兩個兩個合并,只要區(qū)間永遠不重復就可以了,并且只合并\(n-1\)次,并且每個點只被合并給別人一次,我們就可以保證時間復雜度是\(O(nlogn)\)的。

    為什么,我們考慮進入一點的有效情況(兩個主席樹都有這個點),而我的證明只限于一種情況,就是當集合合并到另外一個大的集合時,以后都只有這個大集合帶著這個小集合(或者一些特殊情況),所以以后這個大集合的被合并的話,只要這個點被有效訪問,這個集合就會進一步變大,而一個點只要區(qū)域內的數(shù)字都被添加了,這個點就不會被有效訪問,也就是說每層的點只會有效訪問\(n\)次,\(log\)層,時間復雜度自然就是\(O(nlogn)\)

    但是,還是有無效訪問的,常數(shù)比較小的自然還是從左往右合并啦。

    轉載于:https://www.cnblogs.com/zhangjianjunab/p/11346849.html

    總結

    以上是生活随笔為你收集整理的肥宅快乐主席树的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产成人久久精品流白浆 | 荫蒂被男人添的好舒服爽免费视频 | 窝窝午夜理论片影院 | 妺妺窝人体色www在线小说 | 九月婷婷人人澡人人添人人爽 | 久久精品女人的天堂av | 国产精品久久久久久亚洲影视内衣 | 国产成人一区二区三区在线观看 | 小鲜肉自慰网站xnxx | 国产精品无套呻吟在线 | 好男人www社区 | 又大又紧又粉嫩18p少妇 | 国产小呦泬泬99精品 | 日韩无套无码精品 | 欧美兽交xxxx×视频 | 亚洲熟熟妇xxxx | 久精品国产欧美亚洲色aⅴ大片 | 国产成人无码av片在线观看不卡 | 亚洲自偷精品视频自拍 | 久久综合激激的五月天 | 国产午夜亚洲精品不卡下载 | 狠狠色噜噜狠狠狠7777奇米 | 任你躁在线精品免费 | 色老头在线一区二区三区 | 午夜福利试看120秒体验区 | 免费看少妇作爱视频 | 久久久久se色偷偷亚洲精品av | 性做久久久久久久久 | 99久久99久久免费精品蜜桃 | 国产亚洲精品久久久久久国模美 | 2020最新国产自产精品 | 久久久久成人精品免费播放动漫 | 图片小说视频一区二区 | 人妻少妇被猛烈进入中文字幕 | 无码毛片视频一区二区本码 | 国产内射爽爽大片视频社区在线 | 中文字幕人妻丝袜二区 | 激情内射日本一区二区三区 | √8天堂资源地址中文在线 | 无码av免费一区二区三区试看 | 香港三级日本三级妇三级 | 97久久超碰中文字幕 | 亚洲精品鲁一鲁一区二区三区 | 亚洲欧洲无卡二区视頻 | 一本久久a久久精品亚洲 | 国产三级久久久精品麻豆三级 | 波多野结衣aⅴ在线 | 久久久亚洲欧洲日产国码αv | 成熟人妻av无码专区 | 国产明星裸体无码xxxx视频 | 帮老师解开蕾丝奶罩吸乳网站 | 色综合视频一区二区三区 | 日本饥渴人妻欲求不满 | 无码av岛国片在线播放 | 我要看www免费看插插视频 | 欧美成人免费全部网站 | 欧美freesex黑人又粗又大 | 国产偷自视频区视频 | 又粗又大又硬毛片免费看 | 亚洲一区av无码专区在线观看 | 国产国语老龄妇女a片 | 精品国产一区二区三区av 性色 | 中文字幕日产无线码一区 | 国产又爽又猛又粗的视频a片 | 欧美阿v高清资源不卡在线播放 | 亚洲精品久久久久中文第一幕 | 精品国产青草久久久久福利 | 中文字幕精品av一区二区五区 | 黄网在线观看免费网站 | 欧美阿v高清资源不卡在线播放 | 国产黄在线观看免费观看不卡 | 国产97色在线 | 免 | 久久 国产 尿 小便 嘘嘘 | www一区二区www免费 | 欧美变态另类xxxx | 国产精品内射视频免费 | 欧美丰满少妇xxxx性 | 又紧又大又爽精品一区二区 | 97精品人妻一区二区三区香蕉 | 亚洲国产一区二区三区在线观看 | 久久午夜无码鲁丝片午夜精品 | 无码人妻少妇伦在线电影 | 色婷婷久久一区二区三区麻豆 | 少妇厨房愉情理9仑片视频 | 成人亚洲精品久久久久软件 | 激情五月综合色婷婷一区二区 | 无码人妻av免费一区二区三区 | 久久精品中文字幕一区 | 日产精品99久久久久久 | 亚洲成av人片在线观看无码不卡 | 夜夜夜高潮夜夜爽夜夜爰爰 | 一本色道久久综合狠狠躁 | 欧美野外疯狂做受xxxx高潮 | www国产精品内射老师 | 成人欧美一区二区三区黑人免费 | yw尤物av无码国产在线观看 | 久久视频在线观看精品 | 中文字幕精品av一区二区五区 | 亚洲成av人片在线观看无码不卡 | 日本www一道久久久免费榴莲 | 成人aaa片一区国产精品 | 日韩精品成人一区二区三区 | 少妇厨房愉情理9仑片视频 | 久久久精品国产sm最大网站 | 国产精品久久久久7777 | 熟妇女人妻丰满少妇中文字幕 | 国产网红无码精品视频 | 无码一区二区三区在线 | av无码电影一区二区三区 | 大地资源中文第3页 | 国产性生大片免费观看性 | 午夜福利试看120秒体验区 | 亚洲精品www久久久 | 国产在线一区二区三区四区五区 | 亚洲成a人片在线观看日本 | 亚洲国精产品一二二线 | 97久久超碰中文字幕 | 久久99精品久久久久婷婷 | 欧美国产日韩亚洲中文 | 亚洲一区二区三区无码久久 | 久久99久久99精品中文字幕 | 黑森林福利视频导航 | 国产女主播喷水视频在线观看 | 精品国偷自产在线 | 久久精品国产精品国产精品污 | 欧美日本精品一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 精品久久久无码人妻字幂 | 蜜臀aⅴ国产精品久久久国产老师 | 国产舌乚八伦偷品w中 | 永久黄网站色视频免费直播 | 国产精品久久国产三级国 | 亚洲一区二区三区 | 国产午夜亚洲精品不卡 | 扒开双腿吃奶呻吟做受视频 | 国产人妻精品一区二区三区 | 成年美女黄网站色大免费全看 | 99久久精品午夜一区二区 | 99久久人妻精品免费一区 | 九九久久精品国产免费看小说 | 国产精品久久久久久久影院 | 欧美亚洲国产一区二区三区 | 人人妻人人澡人人爽欧美精品 | 成人综合网亚洲伊人 | 色婷婷久久一区二区三区麻豆 | 美女极度色诱视频国产 | 亚洲中文字幕av在天堂 | 欧美老熟妇乱xxxxx | 久久久久av无码免费网 | 无码午夜成人1000部免费视频 | 丝袜足控一区二区三区 | 久久亚洲精品成人无码 | 久久久久99精品成人片 | 最近的中文字幕在线看视频 | 亚洲一区二区三区国产精华液 | 久久久久亚洲精品中文字幕 | 99国产精品白浆在线观看免费 | 一个人看的www免费视频在线观看 | 亚洲国产精品久久久久久 | 成人影院yy111111在线观看 | 欧美怡红院免费全部视频 | 久久精品一区二区三区四区 | 亚洲色大成网站www国产 | 亚洲另类伦春色综合小说 | 精品少妇爆乳无码av无码专区 | 天天拍夜夜添久久精品大 | 秋霞成人午夜鲁丝一区二区三区 | 国产欧美亚洲精品a | 欧美黑人乱大交 | 丝袜美腿亚洲一区二区 | 亚洲中文字幕va福利 | 亚洲精品久久久久中文第一幕 | 国产两女互慰高潮视频在线观看 | 亚洲乱码中文字幕在线 | 久久婷婷五月综合色国产香蕉 | 老子影院午夜伦不卡 | 国产精品无套呻吟在线 | 狠狠色噜噜狠狠狠7777奇米 | 51国偷自产一区二区三区 | 香港三级日本三级妇三级 | 男人和女人高潮免费网站 | 丰满人妻被黑人猛烈进入 | 亚洲精品久久久久久一区二区 | 乱人伦人妻中文字幕无码久久网 | 草草网站影院白丝内射 | 在线视频网站www色 | 国产情侣作爱视频免费观看 | 性欧美牲交在线视频 | 无码纯肉视频在线观看 | 日韩精品乱码av一区二区 | 国产成人精品久久亚洲高清不卡 | 在线观看免费人成视频 | 曰韩少妇内射免费播放 | 日本熟妇乱子伦xxxx | 成人欧美一区二区三区黑人 | 精品久久8x国产免费观看 | 乱码av麻豆丝袜熟女系列 | 欧美性色19p | 欧美一区二区三区 | 亚洲色偷偷男人的天堂 | 成人综合网亚洲伊人 | 丁香花在线影院观看在线播放 | 亚洲精品www久久久 | 无码免费一区二区三区 | 国产精品久久久久久亚洲影视内衣 | 午夜福利试看120秒体验区 | 99riav国产精品视频 | 国产亚洲美女精品久久久2020 | www国产亚洲精品久久久日本 | 精品无码av一区二区三区 | 久久综合给合久久狠狠狠97色 | 国产在线精品一区二区三区直播 | a片在线免费观看 | 强开小婷嫩苞又嫩又紧视频 | 亚洲欧洲无卡二区视頻 | 久久精品国产99精品亚洲 | 任你躁国产自任一区二区三区 | 午夜精品久久久久久久 | 亚洲一区av无码专区在线观看 | 中文久久乱码一区二区 | 国产成人午夜福利在线播放 | 300部国产真实乱 | 国产成人无码av片在线观看不卡 | 国产精品毛多多水多 | 欧美人妻一区二区三区 | 亚洲熟悉妇女xxx妇女av | 一本久久a久久精品vr综合 | 九九久久精品国产免费看小说 | 久热国产vs视频在线观看 | 久久亚洲中文字幕精品一区 | 日本肉体xxxx裸交 | 国产区女主播在线观看 | 图片小说视频一区二区 | 亚洲色欲色欲天天天www | 国产在线一区二区三区四区五区 | 熟妇人妻无乱码中文字幕 | 狠狠色欧美亚洲狠狠色www | 国产av一区二区精品久久凹凸 | 四虎永久在线精品免费网址 | 国产乡下妇女做爰 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 亚洲经典千人经典日产 | 精品一区二区不卡无码av | 久久国产36精品色熟妇 | 99麻豆久久久国产精品免费 | 国产精品高潮呻吟av久久4虎 | 亚洲性无码av中文字幕 | av无码久久久久不卡免费网站 | 无码国产色欲xxxxx视频 | 午夜性刺激在线视频免费 | 无码人妻av免费一区二区三区 | 国产精品久久久 | 日本精品少妇一区二区三区 | 性色av无码免费一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲s色大片在线观看 | 亚洲精品一区国产 | 东京热男人av天堂 | 亚洲国产精华液网站w | 欧美一区二区三区视频在线观看 | 精品无码国产自产拍在线观看蜜 | 久久久久久九九精品久 | 国产精品无码永久免费888 | 亚洲男女内射在线播放 | 国产猛烈高潮尖叫视频免费 | 成人试看120秒体验区 | 国产精品丝袜黑色高跟鞋 | 国产免费久久久久久无码 | 国产精品va在线观看无码 | 精品久久久中文字幕人妻 | 欧美老人巨大xxxx做受 | 在线天堂新版最新版在线8 | 精品熟女少妇av免费观看 | 97人妻精品一区二区三区 | 国产精品久久久久久久9999 | 国产69精品久久久久app下载 | 国产明星裸体无码xxxx视频 | 色婷婷综合激情综在线播放 | 俺去俺来也www色官网 | 国产精品久久久久久亚洲毛片 | 国产97色在线 | 免 | 国产极品美女高潮无套在线观看 | 国产亚洲欧美在线专区 | 国产国语老龄妇女a片 | 麻花豆传媒剧国产免费mv在线 | 色五月五月丁香亚洲综合网 | 2020久久香蕉国产线看观看 | 中文字幕乱码人妻二区三区 | 国产无遮挡又黄又爽又色 | 乌克兰少妇性做爰 | 又紧又大又爽精品一区二区 | 天天躁夜夜躁狠狠是什么心态 | 国产绳艺sm调教室论坛 | 国产无套内射久久久国产 | 欧美日韩人成综合在线播放 | 精品无码av一区二区三区 | 欧洲熟妇色 欧美 | 精品久久久中文字幕人妻 | 国产激情无码一区二区 | 99麻豆久久久国产精品免费 | 欧美人与禽zoz0性伦交 | 亚洲欧美色中文字幕在线 | 国产精品久久久午夜夜伦鲁鲁 | 久久无码专区国产精品s | 无人区乱码一区二区三区 | 又紧又大又爽精品一区二区 | 巨爆乳无码视频在线观看 | 国产午夜亚洲精品不卡下载 | 日本大乳高潮视频在线观看 | 欧美性生交活xxxxxdddd | 一个人看的www免费视频在线观看 | 青青草原综合久久大伊人精品 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产午夜视频在线观看 | 日本丰满熟妇videos | 午夜时刻免费入口 | 在线天堂新版最新版在线8 | 激情五月综合色婷婷一区二区 | 欧美亚洲日韩国产人成在线播放 | 初尝人妻少妇中文字幕 | 午夜精品久久久内射近拍高清 | 麻豆md0077饥渴少妇 | 久久久久久久女国产乱让韩 | 黑森林福利视频导航 | 欧美猛少妇色xxxxx | 中文字幕 亚洲精品 第1页 | 嫩b人妻精品一区二区三区 | 国产精品高潮呻吟av久久 | 自拍偷自拍亚洲精品10p | 两性色午夜视频免费播放 | 久久久精品欧美一区二区免费 | 亚洲精品综合一区二区三区在线 | 日韩精品乱码av一区二区 | 日本精品久久久久中文字幕 | 一区二区三区乱码在线 | 欧洲 | 老头边吃奶边弄进去呻吟 | 日本一本二本三区免费 | 亚洲日韩中文字幕在线播放 | 国产精品久久久久无码av色戒 | 女人被男人躁得好爽免费视频 | 亚洲色大成网站www | 色情久久久av熟女人妻网站 | 精品国产一区二区三区四区在线看 | 对白脏话肉麻粗话av | 人妻少妇精品无码专区动漫 | 日产精品99久久久久久 | 久久伊人色av天堂九九小黄鸭 | 少妇愉情理伦片bd | 日产精品高潮呻吟av久久 | 粉嫩少妇内射浓精videos | 国产97人人超碰caoprom | 久久久久se色偷偷亚洲精品av | 巨爆乳无码视频在线观看 | 国产内射爽爽大片视频社区在线 | 噜噜噜亚洲色成人网站 | 天天躁夜夜躁狠狠是什么心态 | 色五月丁香五月综合五月 | 一本精品99久久精品77 | 无码人妻久久一区二区三区不卡 | 激情综合激情五月俺也去 | 久久精品视频在线看15 | 欧美真人作爱免费视频 | 色综合久久久无码中文字幕 | 天堂无码人妻精品一区二区三区 | 精品国产麻豆免费人成网站 | 国产亚洲精品精品国产亚洲综合 | 国产精品毛片一区二区 | 中文字幕日产无线码一区 | 国产成人精品一区二区在线小狼 | 少妇太爽了在线观看 | 亚洲日韩av一区二区三区四区 | 啦啦啦www在线观看免费视频 | 亚洲精品一区二区三区在线 | 在线a亚洲视频播放在线观看 | 国产精品.xx视频.xxtv | 97人妻精品一区二区三区 | 国产精品理论片在线观看 | 日本爽爽爽爽爽爽在线观看免 | 欧美国产日韩亚洲中文 | 熟妇女人妻丰满少妇中文字幕 | 无码av最新清无码专区吞精 | 国产97人人超碰caoprom | 国产综合色产在线精品 | 天天综合网天天综合色 | 国产欧美精品一区二区三区 | 国产精品理论片在线观看 | 国产精品va在线播放 | 日日摸天天摸爽爽狠狠97 | 精品久久久无码中文字幕 | 俄罗斯老熟妇色xxxx | 99久久婷婷国产综合精品青草免费 | 成人欧美一区二区三区黑人免费 | 国产免费久久久久久无码 | 国产精品第一国产精品 | 老熟女乱子伦 | 久青草影院在线观看国产 | 丰满妇女强制高潮18xxxx | 国产又爽又黄又刺激的视频 | 国产精品国产三级国产专播 | 日韩人妻系列无码专区 | 又大又硬又黄的免费视频 | 色综合久久久无码中文字幕 | 撕开奶罩揉吮奶头视频 | 天堂亚洲2017在线观看 | 久久综合久久自在自线精品自 | 丰满妇女强制高潮18xxxx | 377p欧洲日本亚洲大胆 | 高潮毛片无遮挡高清免费视频 | 午夜无码人妻av大片色欲 | 午夜丰满少妇性开放视频 | 欧美丰满熟妇xxxx性ppx人交 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产一区二区三区四区五区加勒比 | 香蕉久久久久久av成人 | 欧美精品无码一区二区三区 | 无码一区二区三区在线观看 | 亚洲精品久久久久久一区二区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 免费国产黄网站在线观看 | av无码久久久久不卡免费网站 | 国内精品人妻无码久久久影院 | 粉嫩少妇内射浓精videos | 亚洲爆乳精品无码一区二区三区 | www一区二区www免费 | 偷窥村妇洗澡毛毛多 | 人人爽人人爽人人片av亚洲 | 色一情一乱一伦 | 97人妻精品一区二区三区 | 天天av天天av天天透 | 久久这里只有精品视频9 | 婷婷综合久久中文字幕蜜桃三电影 | 97精品人妻一区二区三区香蕉 | 国产日产欧产精品精品app | 中文字幕av无码一区二区三区电影 | 俺去俺来也在线www色官网 | 熟女少妇人妻中文字幕 | 国产一区二区三区日韩精品 | 久久99精品久久久久久 | 99久久无码一区人妻 | 成人欧美一区二区三区黑人免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 性色av无码免费一区二区三区 | 天天av天天av天天透 | 亚洲一区二区三区四区 | 久久久国产精品无码免费专区 | 欧美日韩一区二区免费视频 | 久久精品国产精品国产精品污 | 97精品国产97久久久久久免费 | 久久天天躁狠狠躁夜夜免费观看 | 一本色道婷婷久久欧美 | 亚洲精品中文字幕 | 人妻体内射精一区二区三四 | 久久精品丝袜高跟鞋 | 俄罗斯老熟妇色xxxx | 国产特级毛片aaaaaa高潮流水 | 久久久婷婷五月亚洲97号色 | 无码午夜成人1000部免费视频 | 成人性做爰aaa片免费看不忠 | 国产午夜无码精品免费看 | 男女下面进入的视频免费午夜 | 蜜桃视频插满18在线观看 | 美女极度色诱视频国产 | 日韩欧美中文字幕公布 | 久久99热只有频精品8 | 成人无码视频在线观看网站 | 一个人免费观看的www视频 | 日日摸天天摸爽爽狠狠97 | 九九热爱视频精品 | 久久精品国产一区二区三区肥胖 | 精品 日韩 国产 欧美 视频 | 亚洲中文无码av永久不收费 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产精品-区区久久久狼 | 久久久中文久久久无码 | 夜夜高潮次次欢爽av女 | 玩弄少妇高潮ⅹxxxyw | 老熟妇仑乱视频一区二区 | 国产成人综合美国十次 | 97资源共享在线视频 | 精品欧美一区二区三区久久久 | 日本xxxx色视频在线观看免费 | 内射后入在线观看一区 | 亚洲国产精品一区二区美利坚 | 帮老师解开蕾丝奶罩吸乳网站 | 亚洲欧美日韩国产精品一区二区 | 色婷婷综合中文久久一本 | 久久久精品456亚洲影院 | 久久99精品国产麻豆蜜芽 | 亚洲综合色区中文字幕 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 99久久久国产精品无码免费 | 久久婷婷五月综合色国产香蕉 | 成人免费视频视频在线观看 免费 | 131美女爱做视频 | 欧美zoozzooz性欧美 | 亚洲成av人在线观看网址 | 国内丰满熟女出轨videos | 无码精品人妻一区二区三区av | 国产成人精品视频ⅴa片软件竹菊 | 免费国产成人高清在线观看网站 | 亚洲精品国产品国语在线观看 | 中文无码伦av中文字幕 | 精品久久久中文字幕人妻 | 无码毛片视频一区二区本码 | 国产精品va在线观看无码 | 99久久人妻精品免费二区 | 中文字幕av无码一区二区三区电影 | 国产精品久久久久9999小说 | 免费观看又污又黄的网站 | 久久综合九色综合欧美狠狠 | 98国产精品综合一区二区三区 | 久久国产精品偷任你爽任你 | 久久亚洲精品成人无码 | 久久国产精品精品国产色婷婷 | 精品无码av一区二区三区 | 色一情一乱一伦一区二区三欧美 | 欧美亚洲日韩国产人成在线播放 | 色欲综合久久中文字幕网 | 日本一卡2卡3卡四卡精品网站 | 亚洲另类伦春色综合小说 | 波多野结衣av一区二区全免费观看 | 国产在线精品一区二区三区直播 | 久久久无码中文字幕久... | 巨爆乳无码视频在线观看 | 呦交小u女精品视频 | 性欧美熟妇videofreesex | 青青青手机频在线观看 | 精品人人妻人人澡人人爽人人 | av无码不卡在线观看免费 | 狠狠cao日日穞夜夜穞av | 亚洲日韩av片在线观看 | 欧洲vodafone精品性 | 7777奇米四色成人眼影 | 日本xxxx色视频在线观看免费 | 欧美激情内射喷水高潮 | 国产va免费精品观看 | 无码av最新清无码专区吞精 | 久久精品成人欧美大片 | 女人被爽到呻吟gif动态图视看 | 精品无码av一区二区三区 | 国产麻豆精品一区二区三区v视界 | 亚拍精品一区二区三区探花 | 51国偷自产一区二区三区 | 日欧一片内射va在线影院 | 国产另类ts人妖一区二区 | 中文久久乱码一区二区 | √8天堂资源地址中文在线 | 亚洲国产成人a精品不卡在线 | 99精品视频在线观看免费 | 久久久久久亚洲精品a片成人 | 成年女人永久免费看片 | 1000部夫妻午夜免费 | 特级做a爰片毛片免费69 | 天堂无码人妻精品一区二区三区 | 久久综合给久久狠狠97色 | 人妻尝试又大又粗久久 | 国产午夜手机精彩视频 | 又粗又大又硬毛片免费看 | 99国产欧美久久久精品 | 国产精品美女久久久久av爽李琼 | 性色欲网站人妻丰满中文久久不卡 | 亚洲精品无码国产 | 国产成人一区二区三区在线观看 | 天堂久久天堂av色综合 | 欧美怡红院免费全部视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 天天摸天天透天天添 | 夜精品a片一区二区三区无码白浆 | 中文精品无码中文字幕无码专区 | 国产成人精品一区二区在线小狼 | 精品夜夜澡人妻无码av蜜桃 | 人妻天天爽夜夜爽一区二区 | 又大又紧又粉嫩18p少妇 | 成熟女人特级毛片www免费 | 日韩视频 中文字幕 视频一区 | 狠狠躁日日躁夜夜躁2020 | 无码一区二区三区在线观看 | 亚洲成色在线综合网站 | 亚洲成av人片天堂网无码】 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚拍精品一区二区三区探花 | 成人性做爰aaa片免费看 | 少妇的肉体aa片免费 | 国产精品久久久午夜夜伦鲁鲁 | 国内丰满熟女出轨videos | 国产无套内射久久久国产 | 国内精品人妻无码久久久影院 | 欧美老人巨大xxxx做受 | 国产高清不卡无码视频 | 熟妇激情内射com | 小sao货水好多真紧h无码视频 | 成熟人妻av无码专区 | 97夜夜澡人人爽人人喊中国片 | 国产区女主播在线观看 | 俺去俺来也www色官网 | 一本久道高清无码视频 | 在线成人www免费观看视频 | 欧美 日韩 亚洲 在线 | 无码av岛国片在线播放 | 欧美怡红院免费全部视频 | 国产做国产爱免费视频 | 小鲜肉自慰网站xnxx | 国产成人无码av片在线观看不卡 | 免费无码午夜福利片69 | 午夜成人1000部免费视频 | 午夜精品一区二区三区在线观看 | 波多野结衣av一区二区全免费观看 | 18禁止看的免费污网站 | 久久99精品国产麻豆蜜芽 | 欧美成人午夜精品久久久 | 九九久久精品国产免费看小说 | 亚洲精品久久久久久一区二区 | 我要看www免费看插插视频 | 日韩视频 中文字幕 视频一区 | 国产精品美女久久久久av爽李琼 | 中文字幕久久久久人妻 | 天堂久久天堂av色综合 | 国产精品久久精品三级 | 日韩精品无码免费一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 天天拍夜夜添久久精品 | 日韩精品无码免费一区二区三区 | 亚洲s码欧洲m码国产av | 亚洲一区二区三区含羞草 | 日本熟妇人妻xxxxx人hd | 性生交片免费无码看人 | 亚洲欧美日韩国产精品一区二区 | 噜噜噜亚洲色成人网站 | 扒开双腿吃奶呻吟做受视频 | 国产人妻人伦精品1国产丝袜 | 国产人成高清在线视频99最全资源 | 国产精品视频免费播放 | 欧美大屁股xxxxhd黑色 | 偷窥日本少妇撒尿chinese | 欧美日韩久久久精品a片 | 日韩成人一区二区三区在线观看 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 久久久精品国产sm最大网站 | 青青青爽视频在线观看 | 福利一区二区三区视频在线观看 | 亚洲熟妇色xxxxx欧美老妇y | 中文字幕日韩精品一区二区三区 | 在线欧美精品一区二区三区 | 无码毛片视频一区二区本码 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 理论片87福利理论电影 | 免费网站看v片在线18禁无码 | 综合网日日天干夜夜久久 | 熟妇人妻无乱码中文字幕 | 欧美日韩亚洲国产精品 | 在线 国产 欧美 亚洲 天堂 | 精品一区二区不卡无码av | 88国产精品欧美一区二区三区 | 西西人体www44rt大胆高清 | 日日摸日日碰夜夜爽av | 国产激情综合五月久久 | 人妻互换免费中文字幕 | 免费男性肉肉影院 | 亚洲国产日韩a在线播放 | 欧美人与物videos另类 | 久久综合香蕉国产蜜臀av | 色一情一乱一伦一视频免费看 | 久久天天躁狠狠躁夜夜免费观看 | 性欧美大战久久久久久久 | 亚洲一区二区三区国产精华液 | 99久久精品国产一区二区蜜芽 | 丝袜足控一区二区三区 | 久激情内射婷内射蜜桃人妖 | 国产又粗又硬又大爽黄老大爷视 | 国产精品福利视频导航 | 99久久亚洲精品无码毛片 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产成人久久精品流白浆 | 青青久在线视频免费观看 | 国产9 9在线 | 中文 | 久久综合久久自在自线精品自 | 亲嘴扒胸摸屁股激烈网站 | 天堂无码人妻精品一区二区三区 | 毛片内射-百度 | 欧美性生交xxxxx久久久 | 精品无码一区二区三区爱欲 | 亚洲春色在线视频 | 成年美女黄网站色大免费视频 | 一本久久伊人热热精品中文字幕 | 欧美老妇与禽交 | 日本一本二本三区免费 | 台湾无码一区二区 | 国产亚洲美女精品久久久2020 | 国产亚洲精品久久久久久大师 | 精品国产精品久久一区免费式 | 日本精品高清一区二区 | 亚洲日本在线电影 | 丰满少妇弄高潮了www | 久久精品国产99久久6动漫 | 欧美 丝袜 自拍 制服 另类 | 亚洲精品一区二区三区在线 | 国产亲子乱弄免费视频 | 丰满肥臀大屁股熟妇激情视频 | 毛片内射-百度 | 久久国产精品精品国产色婷婷 | 香港三级日本三级妇三级 | 色综合久久久久综合一本到桃花网 | 国内揄拍国内精品人妻 | 任你躁国产自任一区二区三区 | 精品国产麻豆免费人成网站 | 精品午夜福利在线观看 | 好屌草这里只有精品 | 精品久久久无码人妻字幂 | 日韩精品a片一区二区三区妖精 | 婷婷五月综合激情中文字幕 | 无码人妻丰满熟妇区毛片18 | 色偷偷人人澡人人爽人人模 | 女人被爽到呻吟gif动态图视看 | 亚洲日韩中文字幕在线播放 | 澳门永久av免费网站 | 无码av最新清无码专区吞精 | 久久久久亚洲精品男人的天堂 | 日韩欧美中文字幕在线三区 | 国色天香社区在线视频 | 曰韩无码二三区中文字幕 | 国产成人精品优优av | 亚洲成熟女人毛毛耸耸多 | 国产精品久久久午夜夜伦鲁鲁 | 国产一区二区三区四区五区加勒比 | 亚洲中文字幕乱码av波多ji | 国产极品视觉盛宴 | 欧美人与物videos另类 | 国产精品久久久一区二区三区 | 精品久久8x国产免费观看 | 中文精品久久久久人妻不卡 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 狠狠躁日日躁夜夜躁2020 | 99久久99久久免费精品蜜桃 | 亚洲中文字幕va福利 | 美女毛片一区二区三区四区 | 麻豆精品国产精华精华液好用吗 | 麻豆国产丝袜白领秘书在线观看 | 亚洲热妇无码av在线播放 | 国产精品二区一区二区aⅴ污介绍 | 无码福利日韩神码福利片 | 99精品国产综合久久久久五月天 | 无遮挡国产高潮视频免费观看 | 一本久道高清无码视频 | 亚洲高清偷拍一区二区三区 | 国内少妇偷人精品视频 | 亚洲欧美国产精品专区久久 | 性生交大片免费看女人按摩摩 | 中文字幕乱码亚洲无线三区 | 女人被爽到呻吟gif动态图视看 | 夜夜影院未满十八勿进 | 免费播放一区二区三区 | 欧洲熟妇精品视频 | 国产农村乱对白刺激视频 | 国产电影无码午夜在线播放 | 一本无码人妻在中文字幕免费 | 欧美亚洲国产一区二区三区 | 蜜桃臀无码内射一区二区三区 | 亚洲一区二区观看播放 | 国产精品自产拍在线观看 | 无遮无挡爽爽免费视频 | 国产内射老熟女aaaa | 67194成是人免费无码 | 好爽又高潮了毛片免费下载 | 亚洲精品欧美二区三区中文字幕 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲欧美日韩成人高清在线一区 | 色欲久久久天天天综合网精品 | 日韩av无码一区二区三区不卡 | 日本精品少妇一区二区三区 | a在线观看免费网站大全 | 日韩无套无码精品 | a在线观看免费网站大全 | 中文字幕中文有码在线 | 99久久无码一区人妻 | 午夜无码人妻av大片色欲 | 丁香花在线影院观看在线播放 | 欧美肥老太牲交大战 | 国产一区二区三区日韩精品 | 国产69精品久久久久app下载 | 无套内谢老熟女 | 无码国产色欲xxxxx视频 | 漂亮人妻洗澡被公强 日日躁 | 十八禁真人啪啪免费网站 | 亚洲自偷自偷在线制服 | 久久精品人人做人人综合试看 | 国产人成高清在线视频99最全资源 | 国产亚洲精品久久久闺蜜 | 色欲av亚洲一区无码少妇 | 久久久精品国产sm最大网站 | 少妇厨房愉情理9仑片视频 | 国产又爽又猛又粗的视频a片 | 六月丁香婷婷色狠狠久久 | a片在线免费观看 | 岛国片人妻三上悠亚 | 99久久人妻精品免费二区 | 鲁鲁鲁爽爽爽在线视频观看 | 国产片av国语在线观看 | 久久国产精品偷任你爽任你 | 日本丰满熟妇videos | 久久久久人妻一区精品色欧美 | 老熟女乱子伦 | 国内精品人妻无码久久久影院蜜桃 | 欧美精品一区二区精品久久 | 色婷婷综合中文久久一本 | 国产无套粉嫩白浆在线 | 免费无码一区二区三区蜜桃大 | 中文字幕无码视频专区 | 少妇久久久久久人妻无码 | 中文字幕日产无线码一区 | 无码av免费一区二区三区试看 | 偷窥日本少妇撒尿chinese | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产成人精品一区二区在线小狼 | 蜜臀av无码人妻精品 | 国产午夜福利亚洲第一 | 色 综合 欧美 亚洲 国产 | 影音先锋中文字幕无码 | 久久国产劲爆∧v内射 | 76少妇精品导航 | www一区二区www免费 | 亚洲国产精品一区二区美利坚 | 精品久久综合1区2区3区激情 | 亚洲一区二区三区国产精华液 | 在线精品亚洲一区二区 | 色婷婷欧美在线播放内射 | 高清无码午夜福利视频 | 国产性生大片免费观看性 | 2020久久香蕉国产线看观看 | 亚洲熟女一区二区三区 | 亚洲午夜无码久久 | 东京热男人av天堂 | 亚洲第一无码av无码专区 | 露脸叫床粗话东北少妇 | 少妇性俱乐部纵欲狂欢电影 | 中文字幕人成乱码熟女app | 美女极度色诱视频国产 | 日本高清一区免费中文视频 | 久久这里只有精品视频9 | 激情人妻另类人妻伦 | 狠狠色欧美亚洲狠狠色www | 少妇人妻偷人精品无码视频 | 日韩人妻少妇一区二区三区 | 亚洲精品欧美二区三区中文字幕 | 国产极品美女高潮无套在线观看 | 无码纯肉视频在线观看 | 国产香蕉尹人视频在线 | 国产无套粉嫩白浆在线 | 国产偷国产偷精品高清尤物 | 国产婷婷色一区二区三区在线 | 亚洲自偷自拍另类第1页 | 精品久久综合1区2区3区激情 | 蜜桃视频插满18在线观看 | 亚洲国产精品美女久久久久 | 精品无码一区二区三区的天堂 | 欧美国产日韩久久mv | 亚洲色欲久久久综合网东京热 | 亚洲精品国产精品乱码不卡 | 无码国内精品人妻少妇 | 天天燥日日燥 | 成人无码视频在线观看网站 | 狠狠躁日日躁夜夜躁2020 | 亚洲a无码综合a国产av中文 | 亚洲一区二区三区在线观看网站 | 中文字幕无线码免费人妻 | 国产高清av在线播放 | 无码成人精品区在线观看 | 成人片黄网站色大片免费观看 | 少妇久久久久久人妻无码 | 亚洲va中文字幕无码久久不卡 | 国产精品高潮呻吟av久久4虎 | 大肉大捧一进一出视频出来呀 | 精品国产一区二区三区av 性色 | 日本一卡二卡不卡视频查询 | 东京热一精品无码av | 人妻无码αv中文字幕久久琪琪布 | 永久黄网站色视频免费直播 | 成人无码精品一区二区三区 | 国产农村妇女高潮大叫 | 亚洲精品国偷拍自产在线麻豆 | 欧美精品一区二区精品久久 | 久久国产精品萌白酱免费 | 久久精品人妻少妇一区二区三区 | 夜夜高潮次次欢爽av女 | 久久综合给久久狠狠97色 | 老熟妇乱子伦牲交视频 | 亚洲精品一区三区三区在线观看 | 国内精品人妻无码久久久影院 | 国产人妻人伦精品 | 亚洲爆乳无码专区 | 国产尤物精品视频 | 国产偷抇久久精品a片69 | 国产av人人夜夜澡人人爽麻豆 | 水蜜桃色314在线观看 | 女高中生第一次破苞av | 俺去俺来也在线www色官网 | 麻豆果冻传媒2021精品传媒一区下载 | 日本欧美一区二区三区乱码 | 丰腴饱满的极品熟妇 | 久久精品国产日本波多野结衣 | 激情国产av做激情国产爱 | 国产三级久久久精品麻豆三级 | 亚洲一区二区三区香蕉 | 无码人妻丰满熟妇区毛片18 | 精品熟女少妇av免费观看 | 最近免费中文字幕中文高清百度 | 天堂亚洲免费视频 | 国产无套内射久久久国产 | 亚洲国产精品一区二区第一页 | 久久久久亚洲精品男人的天堂 | 婷婷色婷婷开心五月四房播播 | 天海翼激烈高潮到腰振不止 | 狂野欧美性猛交免费视频 | 亚洲成av人影院在线观看 | 国产精品va在线播放 | 国内老熟妇对白xxxxhd | 丁香花在线影院观看在线播放 | 少妇无套内谢久久久久 | 玩弄少妇高潮ⅹxxxyw | 久久人人爽人人人人片 | 丰满人妻被黑人猛烈进入 | 国产性生大片免费观看性 | 久久亚洲国产成人精品性色 | 奇米影视888欧美在线观看 | 亚洲精品国产精品乱码不卡 | 俄罗斯老熟妇色xxxx | 国产真实伦对白全集 | 精品国产青草久久久久福利 | 98国产精品综合一区二区三区 | 亚洲一区二区三区播放 | av在线亚洲欧洲日产一区二区 | 好屌草这里只有精品 | 日本肉体xxxx裸交 | 中国女人内谢69xxxxxa片 | 小泽玛莉亚一区二区视频在线 | 久久久久成人精品免费播放动漫 | 国产xxx69麻豆国语对白 | 久久综合狠狠综合久久综合88 | 无码人妻丰满熟妇区毛片18 | 一个人免费观看的www视频 | 亚洲成a人片在线观看无码3d | 国内精品人妻无码久久久影院蜜桃 | 午夜精品久久久久久久久 | 真人与拘做受免费视频一 | 精品久久久无码中文字幕 | 大肉大捧一进一出视频出来呀 | 欧美日韩视频无码一区二区三 | 六月丁香婷婷色狠狠久久 | 亚洲日韩中文字幕在线播放 | 国产特级毛片aaaaaa高潮流水 | 蜜桃臀无码内射一区二区三区 | 成 人 网 站国产免费观看 | 97资源共享在线视频 | 樱花草在线社区www | 亚洲春色在线视频 | www国产精品内射老师 | 日韩精品无码免费一区二区三区 | 高中生自慰www网站 | 国产另类ts人妖一区二区 | 免费无码肉片在线观看 | 亚洲人成无码网www | 欧美喷潮久久久xxxxx | 人妻夜夜爽天天爽三区 | 国产人妻大战黑人第1集 | 亚洲国产精品毛片av不卡在线 | 99国产精品白浆在线观看免费 | 欧美日韩视频无码一区二区三 | 国产两女互慰高潮视频在线观看 | 一个人免费观看的www视频 | 午夜精品久久久内射近拍高清 | 97精品人妻一区二区三区香蕉 | 国内揄拍国内精品人妻 | 国产综合久久久久鬼色 | 亚洲一区二区三区含羞草 | 亚洲精品久久久久avwww潮水 | 九月婷婷人人澡人人添人人爽 | 成人无码视频在线观看网站 | 成熟人妻av无码专区 | 无码一区二区三区在线观看 | 日本精品少妇一区二区三区 | 性欧美牲交xxxxx视频 | 国产成人精品一区二区在线小狼 | 97无码免费人妻超级碰碰夜夜 | 在线播放无码字幕亚洲 | 在线观看欧美一区二区三区 | 国产成人精品久久亚洲高清不卡 | 日本欧美一区二区三区乱码 | 丰满少妇高潮惨叫视频 | 精品人妻中文字幕有码在线 | 国产亚洲欧美日韩亚洲中文色 | 亚洲欧美国产精品专区久久 | 欧美野外疯狂做受xxxx高潮 | 巨爆乳无码视频在线观看 | 一本久道高清无码视频 | 欧美精品在线观看 | 欧美熟妇另类久久久久久不卡 | 国产偷国产偷精品高清尤物 | 成年美女黄网站色大免费全看 | 亚洲自偷自拍另类第1页 | 国产午夜无码精品免费看 | 国产精品亚洲专区无码不卡 | 亚洲熟熟妇xxxx | 激情人妻另类人妻伦 | 国产午夜手机精彩视频 | 中文字幕 亚洲精品 第1页 | 亚洲综合伊人久久大杳蕉 | 日韩精品一区二区av在线 | 日本丰满护士爆乳xxxx | 2019午夜福利不卡片在线 | 老司机亚洲精品影院 | 色综合久久久无码中文字幕 | 免费人成在线视频无码 | 国精产品一品二品国精品69xx | 综合激情五月综合激情五月激情1 | 国产激情无码一区二区 | 久久久成人毛片无码 | 成人综合网亚洲伊人 | 丰满少妇弄高潮了www | 亚洲天堂2017无码 | 国产精品va在线观看无码 | 在线看片无码永久免费视频 | 久久99国产综合精品 | 日韩人妻无码中文字幕视频 | 久久 国产 尿 小便 嘘嘘 | 欧美 丝袜 自拍 制服 另类 | a片在线免费观看 | 久久久久se色偷偷亚洲精品av | av人摸人人人澡人人超碰下载 | 在线欧美精品一区二区三区 | 国产高清不卡无码视频 | av无码电影一区二区三区 | 中文字幕日韩精品一区二区三区 | 无码人妻精品一区二区三区下载 | aa片在线观看视频在线播放 | 色婷婷综合中文久久一本 | 搡女人真爽免费视频大全 | 爆乳一区二区三区无码 | 亚洲日韩乱码中文无码蜜桃臀网站 | 少妇愉情理伦片bd | 乌克兰少妇性做爰 | 亚洲 激情 小说 另类 欧美 | 日本肉体xxxx裸交 | 老子影院午夜精品无码 | 久久国产精品精品国产色婷婷 | 婷婷六月久久综合丁香 | 成熟人妻av无码专区 | ass日本丰满熟妇pics | 噜噜噜亚洲色成人网站 | 欧美人与禽zoz0性伦交 | 国产精品亚洲五月天高清 | 野狼第一精品社区 | 日产国产精品亚洲系列 | 色综合久久网 | 国产偷抇久久精品a片69 | 成人性做爰aaa片免费看 | 欧美肥老太牲交大战 | 免费国产成人高清在线观看网站 | 纯爱无遮挡h肉动漫在线播放 | 亚洲а∨天堂久久精品2021 | 日产国产精品亚洲系列 | 久久久国产精品无码免费专区 | 一本久久a久久精品亚洲 | 成人精品视频一区二区三区尤物 | 亚洲成av人片天堂网无码】 | 一本一道久久综合久久 | 国产成人精品久久亚洲高清不卡 | 成人免费视频视频在线观看 免费 | 人人澡人人妻人人爽人人蜜桃 | 日韩精品乱码av一区二区 | 国产成人综合在线女婷五月99播放 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲色偷偷偷综合网 | 国产无遮挡吃胸膜奶免费看 | 精品无码av一区二区三区 | 精品国产av色一区二区深夜久久 | 亚洲综合精品香蕉久久网 | 亚洲自偷自拍另类第1页 | 最新国产乱人伦偷精品免费网站 | 成人试看120秒体验区 | 国产亚洲精品精品国产亚洲综合 | 久久国语露脸国产精品电影 | 亚洲精品国产第一综合99久久 | 欧美老人巨大xxxx做受 | 成人欧美一区二区三区黑人免费 | 国产精品高潮呻吟av久久4虎 | 国产精品久久国产精品99 | 国产免费无码一区二区视频 | 中文无码精品a∨在线观看不卡 | 欧美老妇与禽交 | 成人一在线视频日韩国产 | 亚洲国产欧美日韩精品一区二区三区 | 成人精品天堂一区二区三区 | 一本精品99久久精品77 | 人妻互换免费中文字幕 | 国产性生大片免费观看性 | 久青草影院在线观看国产 | 亚洲欧美精品伊人久久 | 正在播放老肥熟妇露脸 | 西西人体www44rt大胆高清 | 无码一区二区三区在线观看 | 无码纯肉视频在线观看 | 日韩精品成人一区二区三区 | 亚洲色大成网站www | 成人欧美一区二区三区黑人 | 亚洲精品一区二区三区大桥未久 | 国产无遮挡又黄又爽免费视频 | 亚洲 a v无 码免 费 成 人 a v | 强辱丰满人妻hd中文字幕 | 狠狠色丁香久久婷婷综合五月 | 狠狠亚洲超碰狼人久久 | 国产一区二区三区四区五区加勒比 | 久久久久久av无码免费看大片 | 亚洲欧美日韩成人高清在线一区 | 婷婷丁香五月天综合东京热 | 成人精品视频一区二区三区尤物 | 国产黄在线观看免费观看不卡 | 国产一区二区三区日韩精品 | 国产热a欧美热a在线视频 | 熟妇激情内射com | 无码精品国产va在线观看dvd | 欧美精品在线观看 | 久久精品国产99精品亚洲 | 日本又色又爽又黄的a片18禁 | 人妻无码久久精品人妻 | 无人区乱码一区二区三区 | 女人和拘做爰正片视频 | 少妇性俱乐部纵欲狂欢电影 | 蜜桃无码一区二区三区 | 欧美日韩综合一区二区三区 | av无码电影一区二区三区 | 欧美日韩亚洲国产精品 | 色诱久久久久综合网ywww | 国产99久久精品一区二区 | 麻豆md0077饥渴少妇 | 野狼第一精品社区 | 久激情内射婷内射蜜桃人妖 | 久久99久久99精品中文字幕 | 午夜肉伦伦影院 | 亚洲欧美日韩综合久久久 | 久久精品99久久香蕉国产色戒 | 人人妻人人澡人人爽精品欧美 | 欧美放荡的少妇 | av人摸人人人澡人人超碰下载 | 亚洲自偷自偷在线制服 | 亚洲欧洲中文日韩av乱码 | 国产高潮视频在线观看 | 国内少妇偷人精品视频 | 女人被爽到呻吟gif动态图视看 | 岛国片人妻三上悠亚 | 欧美人与禽猛交狂配 | 成人无码影片精品久久久 | 99er热精品视频 | 亚洲色在线无码国产精品不卡 | 国产猛烈高潮尖叫视频免费 | 免费无码的av片在线观看 | 精品成在人线av无码免费看 | 无码帝国www无码专区色综合 | 中文字幕日韩精品一区二区三区 | 国产熟女一区二区三区四区五区 | 桃花色综合影院 | 欧美日韩精品 | 无码一区二区三区在线 | 中文字幕久久久久人妻 | 夜先锋av资源网站 | 性色欲情网站iwww九文堂 | 欧美老妇交乱视频在线观看 | 精品午夜福利在线观看 | 国产精品igao视频网 | 日日躁夜夜躁狠狠躁 | 免费无码肉片在线观看 | 国精品人妻无码一区二区三区蜜柚 | 国产精品香蕉在线观看 | 四虎影视成人永久免费观看视频 | 亚洲国产欧美日韩精品一区二区三区 | a片在线免费观看 | 成 人影片 免费观看 | 久久精品国产99久久6动漫 | 一二三四社区在线中文视频 | 国内精品九九久久久精品 | 欧美刺激性大交 | 日本精品高清一区二区 | 午夜理论片yy44880影院 | 亚洲精品国偷拍自产在线麻豆 | 久久久久久国产精品无码下载 | 国产无遮挡又黄又爽又色 | 中国大陆精品视频xxxx | 欧美 日韩 人妻 高清 中文 | 国产sm调教视频在线观看 | 美女黄网站人色视频免费国产 | 久久精品国产精品国产精品污 | 2020久久香蕉国产线看观看 | 亚洲经典千人经典日产 | 国产午夜亚洲精品不卡 | 久久久精品欧美一区二区免费 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲精品国产精品乱码视色 | 白嫩日本少妇做爰 | 亚洲欧美日韩综合久久久 | 精品久久综合1区2区3区激情 | 最新国产乱人伦偷精品免费网站 | 久久国内精品自在自线 | 欧美丰满熟妇xxxx性ppx人交 | 精品 日韩 国产 欧美 视频 | 久久久久国色av免费观看性色 | 日韩亚洲欧美精品综合 | 久久精品人人做人人综合 | 玩弄人妻少妇500系列视频 | 亚洲精品成人福利网站 | 国产特级毛片aaaaaa高潮流水 | 高潮毛片无遮挡高清免费视频 | 久久国语露脸国产精品电影 | 无码人妻精品一区二区三区下载 | 欧美性生交xxxxx久久久 | 成在人线av无码免观看麻豆 | 蜜桃av抽搐高潮一区二区 | 俺去俺来也www色官网 | 色一情一乱一伦一区二区三欧美 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久久av无码免费网 | 97色伦图片97综合影院 | 国产在线精品一区二区高清不卡 | 久久久久久九九精品久 | 国产超碰人人爽人人做人人添 | 中国女人内谢69xxxxxa片 | 中文字幕无码日韩欧毛 | 国产精品久久久久久亚洲影视内衣 | 一个人看的www免费视频在线观看 | 色诱久久久久综合网ywww | 精品久久久无码中文字幕 | 国产猛烈高潮尖叫视频免费 | 久久人妻内射无码一区三区 | 蜜臀av无码人妻精品 | 成人无码视频在线观看网站 | 久久久久se色偷偷亚洲精品av | 人人澡人人透人人爽 | 免费国产成人高清在线观看网站 | 国产亚洲精品久久久闺蜜 | 爆乳一区二区三区无码 | 中文字幕无码人妻少妇免费 | 久久久精品成人免费观看 | 久久亚洲a片com人成 | 亚洲欧洲日本无在线码 | 在线播放无码字幕亚洲 | 国产又粗又硬又大爽黄老大爷视 | 久久精品99久久香蕉国产色戒 | 亚洲日本va中文字幕 | 精品无码国产一区二区三区av | 精品熟女少妇av免费观看 | 色欲人妻aaaaaaa无码 | 无码中文字幕色专区 | 亚洲人交乣女bbw | 青草青草久热国产精品 | 久久久久免费精品国产 | 国产黄在线观看免费观看不卡 | 日日干夜夜干 | 黑人巨大精品欧美黑寡妇 | 成人亚洲精品久久久久软件 | 色欲久久久天天天综合网精品 | 无码av最新清无码专区吞精 | 亚洲热妇无码av在线播放 | 欧美黑人巨大xxxxx | 特黄特色大片免费播放器图片 | 综合网日日天干夜夜久久 | 久久久久成人精品免费播放动漫 | 亚洲精品无码人妻无码 | 97无码免费人妻超级碰碰夜夜 | 亚洲精品无码人妻无码 | 无码毛片视频一区二区本码 | 久久久久国色av免费观看性色 | 国产精品美女久久久网av | 国产黄在线观看免费观看不卡 | 2019nv天堂香蕉在线观看 | 东京热无码av男人的天堂 | 中文精品无码中文字幕无码专区 | 国产美女精品一区二区三区 | 久久精品无码一区二区三区 | 国产精品a成v人在线播放 | 国产成人亚洲综合无码 | 老子影院午夜精品无码 | 国内综合精品午夜久久资源 | 亚洲欧美日韩成人高清在线一区 | www一区二区www免费 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲一区二区三区无码久久 | 久久综合香蕉国产蜜臀av | 久久久中文字幕日本无吗 | 免费看男女做好爽好硬视频 | 欧美成人高清在线播放 | а√天堂www在线天堂小说 | 久久久婷婷五月亚洲97号色 | 精品熟女少妇av免费观看 | 国产麻豆精品精东影业av网站 | 97精品国产97久久久久久免费 | 成人动漫在线观看 | 日本精品人妻无码77777 天堂一区人妻无码 | 影音先锋中文字幕无码 | 人妻中文无码久热丝袜 | 国产suv精品一区二区五 | 内射爽无广熟女亚洲 | 日本在线高清不卡免费播放 | 精品国产一区二区三区四区 | 亚洲爆乳无码专区 | 日日干夜夜干 | 中文字幕精品av一区二区五区 | 好男人社区资源 | 乱人伦中文视频在线观看 | 麻花豆传媒剧国产免费mv在线 | 奇米影视7777久久精品 | 亚洲一区av无码专区在线观看 | 精品久久综合1区2区3区激情 | 国产成人人人97超碰超爽8 | 久久久久成人片免费观看蜜芽 | 成人欧美一区二区三区 | 麻豆av传媒蜜桃天美传媒 | 亚洲狠狠婷婷综合久久 | 免费观看又污又黄的网站 | 久久国产精品精品国产色婷婷 | 大肉大捧一进一出视频出来呀 | 精品偷自拍另类在线观看 | 国产成人无码av片在线观看不卡 | 久精品国产欧美亚洲色aⅴ大片 | 99久久精品日本一区二区免费 | 中文字幕乱码亚洲无线三区 | 无码人妻精品一区二区三区下载 | 久久精品国产一区二区三区肥胖 | 欧美成人午夜精品久久久 | 国产午夜福利100集发布 | 亚洲精品一区二区三区在线 | 成人亚洲精品久久久久软件 | 欧美老人巨大xxxx做受 | 国产在线aaa片一区二区99 | 特大黑人娇小亚洲女 | 国产va免费精品观看 | 狠狠综合久久久久综合网 | 久热国产vs视频在线观看 | 中文字幕无码热在线视频 | aⅴ亚洲 日韩 色 图网站 播放 | 无码午夜成人1000部免费视频 | 日本一卡2卡3卡四卡精品网站 | 一个人免费观看的www视频 | 国产精品久久久久9999小说 | 99精品视频在线观看免费 | 麻花豆传媒剧国产免费mv在线 | 亚洲欧美日韩成人高清在线一区 | 日韩人妻系列无码专区 | 国产偷国产偷精品高清尤物 | 欧美丰满熟妇xxxx | 青春草在线视频免费观看 | 精品一区二区不卡无码av | 丰满人妻翻云覆雨呻吟视频 | 乱人伦人妻中文字幕无码久久网 | 国产精品视频免费播放 | 狠狠色色综合网站 | 中文亚洲成a人片在线观看 | 久久综合九色综合欧美狠狠 | 久久午夜无码鲁丝片午夜精品 | 国产美女精品一区二区三区 | 高潮喷水的毛片 | 又黄又爽又色的视频 | 国产三级久久久精品麻豆三级 | 伊人久久婷婷五月综合97色 | 男人和女人高潮免费网站 | 久久国产36精品色熟妇 | 俺去俺来也在线www色官网 | 亚洲中文字幕在线无码一区二区 | 欧美猛少妇色xxxxx | 精品夜夜澡人妻无码av蜜桃 | 99riav国产精品视频 | 精品无码av一区二区三区 | 在教室伦流澡到高潮hnp视频 | 欧美日韩久久久精品a片 | 久久久久久久久蜜桃 | 精品国产一区av天美传媒 | 一本一道久久综合久久 | 少妇厨房愉情理9仑片视频 | 精品亚洲韩国一区二区三区 | 亚洲精品中文字幕久久久久 | 狠狠噜狠狠狠狠丁香五月 | 人人妻人人澡人人爽精品欧美 | 人妻体内射精一区二区三四 | 亚洲a无码综合a国产av中文 | 久久精品女人的天堂av | 亚洲国产一区二区三区在线观看 | 国产av无码专区亚洲a∨毛片 | 少妇被粗大的猛进出69影院 | 无码av最新清无码专区吞精 | 国内精品人妻无码久久久影院蜜桃 | 熟妇人妻无码xxx视频 | 日本大香伊一区二区三区 | 3d动漫精品啪啪一区二区中 | 97精品国产97久久久久久免费 | 三上悠亚人妻中文字幕在线 | 美女黄网站人色视频免费国产 | 久久久久久久久蜜桃 | 成人免费视频在线观看 | 黑人巨大精品欧美黑寡妇 | 国内精品久久久久久中文字幕 | 国产9 9在线 | 中文 | 中文字幕av日韩精品一区二区 | 色欲综合久久中文字幕网 | 国产精品毛多多水多 | 精品人妻中文字幕有码在线 | 野外少妇愉情中文字幕 | 狂野欧美性猛xxxx乱大交 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲色大成网站www国产 | 日本爽爽爽爽爽爽在线观看免 | 日本高清一区免费中文视频 | 免费人成在线视频无码 | 国产小呦泬泬99精品 | 老熟妇仑乱视频一区二区 | 青青久在线视频免费观看 | 色欲av亚洲一区无码少妇 | 乱码av麻豆丝袜熟女系列 | 亚洲国产一区二区三区在线观看 | 亚洲欧美精品伊人久久 | 亚洲爆乳大丰满无码专区 | 亚洲经典千人经典日产 | 欧美老妇交乱视频在线观看 | 亚洲一区二区三区国产精华液 | 欧美黑人巨大xxxxx | 大胆欧美熟妇xx | 丁香啪啪综合成人亚洲 | 一本久道高清无码视频 | 无套内射视频囯产 | 无码av岛国片在线播放 | 人人超人人超碰超国产 | 香港三级日本三级妇三级 | 亚洲а∨天堂久久精品2021 | 国产真实伦对白全集 | 亚洲成av人综合在线观看 | 天天躁夜夜躁狠狠是什么心态 | 妺妺窝人体色www婷婷 | 国产精品无码一区二区三区不卡 | 成人免费视频视频在线观看 免费 | 日韩亚洲欧美中文高清在线 | 国产精品美女久久久久av爽李琼 | 一本大道久久东京热无码av | 欧美国产日韩亚洲中文 | 久久精品国产一区二区三区 | 久久精品国产精品国产精品污 | 无码午夜成人1000部免费视频 | 玩弄少妇高潮ⅹxxxyw | 好男人www社区 | 久久国产精品偷任你爽任你 | 精品国产国产综合精品 | 亚洲va中文字幕无码久久不卡 | 久久精品国产日本波多野结衣 | 精品欧美一区二区三区久久久 | 国产午夜手机精彩视频 | 久久精品人人做人人综合 | 夜夜躁日日躁狠狠久久av | 亚洲自偷自偷在线制服 | 成人欧美一区二区三区黑人 | 欧美大屁股xxxxhd黑色 | 色一情一乱一伦一区二区三欧美 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产精品免费大片 | 久久人人97超碰a片精品 | 正在播放老肥熟妇露脸 | 人妻少妇精品无码专区动漫 | 十八禁真人啪啪免费网站 | 欧美日韩亚洲国产精品 | 国产午夜精品一区二区三区嫩草 | 久久亚洲国产成人精品性色 | 成熟女人特级毛片www免费 | www国产亚洲精品久久网站 | 久久久久人妻一区精品色欧美 | 亚洲成av人片在线观看无码不卡 | 在线观看国产午夜福利片 | 黑人巨大精品欧美黑寡妇 | 秋霞成人午夜鲁丝一区二区三区 | 久久精品人妻少妇一区二区三区 | 激情爆乳一区二区三区 | 久久视频在线观看精品 | 成人欧美一区二区三区黑人 | 图片区 小说区 区 亚洲五月 | 妺妺窝人体色www婷婷 | 国产香蕉97碰碰久久人人 | 男女猛烈xx00免费视频试看 | 丰满人妻被黑人猛烈进入 | 一区二区三区高清视频一 | 国产欧美熟妇另类久久久 | 久久人人爽人人爽人人片ⅴ | 久久国产精品_国产精品 | 欧美三级a做爰在线观看 | 人妻熟女一区 | 午夜性刺激在线视频免费 | 少女韩国电视剧在线观看完整 | 国产午夜福利100集发布 | 理论片87福利理论电影 | 蜜臀aⅴ国产精品久久久国产老师 | 久久精品人人做人人综合试看 | 久久精品人妻少妇一区二区三区 | 国产精品18久久久久久麻辣 | 色欲av亚洲一区无码少妇 | 欧美肥老太牲交大战 | 欧洲vodafone精品性 | 日日夜夜撸啊撸 | 麻豆人妻少妇精品无码专区 | 女人被爽到呻吟gif动态图视看 | 欧美性黑人极品hd | 国产精品爱久久久久久久 | 国产在线精品一区二区高清不卡 | 欧美激情内射喷水高潮 | 亚洲人亚洲人成电影网站色 | 国产在线无码精品电影网 | 国产av剧情md精品麻豆 | 国产一区二区三区日韩精品 | 免费无码午夜福利片69 | 亚洲天堂2017无码 | 国产成人综合在线女婷五月99播放 | 国产午夜福利亚洲第一 | 老熟女重囗味hdxx69 | 日本一卡2卡3卡四卡精品网站 | 成人亚洲精品久久久久软件 | 午夜时刻免费入口 | 久久人人97超碰a片精品 | 国产凸凹视频一区二区 | 欧美亚洲日韩国产人成在线播放 | аⅴ资源天堂资源库在线 | 久久熟妇人妻午夜寂寞影院 | 精品久久久久久人妻无码中文字幕 | 人人妻人人澡人人爽人人精品浪潮 | 老头边吃奶边弄进去呻吟 | 东京一本一道一二三区 | 天堂无码人妻精品一区二区三区 | 亚洲国产精品成人久久蜜臀 | 漂亮人妻洗澡被公强 日日躁 | 国产人妖乱国产精品人妖 | 亚洲日本一区二区三区在线 | 免费无码一区二区三区蜜桃大 | 欧美日韩一区二区免费视频 | 亚洲欧美精品aaaaaa片 | 丰满人妻精品国产99aⅴ | 国产亚洲精品久久久久久 | 国产艳妇av在线观看果冻传媒 | 一本久久伊人热热精品中文字幕 | 日本丰满熟妇videos | 又紧又大又爽精品一区二区 | 精品久久久无码中文字幕 | 亚洲综合无码久久精品综合 | 精品夜夜澡人妻无码av蜜桃 | 日本成熟视频免费视频 | 激情国产av做激情国产爱 | 未满成年国产在线观看 | 国产成人无码av一区二区 | 久久国产精品二国产精品 | 亚洲理论电影在线观看 | 又湿又紧又大又爽a视频国产 | 好男人www社区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 天天做天天爱天天爽综合网 | 男人的天堂2018无码 | 天堂无码人妻精品一区二区三区 | 国产三级久久久精品麻豆三级 | 成人精品一区二区三区中文字幕 | 中文无码成人免费视频在线观看 | 国产熟女一区二区三区四区五区 | 强伦人妻一区二区三区视频18 | 亚洲日韩中文字幕在线播放 | 日本欧美一区二区三区乱码 | 日本熟妇人妻xxxxx人hd | 久久天天躁狠狠躁夜夜免费观看 | 国产又爽又猛又粗的视频a片 | a国产一区二区免费入口 | 樱花草在线社区www | 国产亚洲人成a在线v网站 | 亚洲色大成网站www国产 | 午夜免费福利小电影 | 人妻插b视频一区二区三区 | 国产办公室秘书无码精品99 | 在线视频网站www色 | 久久精品一区二区三区四区 | 老熟妇乱子伦牲交视频 | 久久综合香蕉国产蜜臀av | 又大又硬又黄的免费视频 | 欧美自拍另类欧美综合图片区 | av小次郎收藏 | 久久国产精品精品国产色婷婷 | 强开小婷嫩苞又嫩又紧视频 | 奇米影视7777久久精品人人爽 | 国产肉丝袜在线观看 | 色狠狠av一区二区三区 | 国产精品美女久久久网av | 人妻尝试又大又粗久久 | 无人区乱码一区二区三区 | 国产人妻精品一区二区三区 | 亚洲熟妇色xxxxx欧美老妇y | 欧美丰满少妇xxxx性 | 久久精品人妻少妇一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 18禁止看的免费污网站 | 亚洲啪av永久无码精品放毛片 | 牲交欧美兽交欧美 | 色一情一乱一伦一区二区三欧美 | 强辱丰满人妻hd中文字幕 | 中文字幕乱妇无码av在线 | 久久人人爽人人人人片 | 亚洲精品久久久久久久久久久 | 国产精品美女久久久网av | 兔费看少妇性l交大片免费 | 亚洲无人区午夜福利码高清完整版 | 亚洲va中文字幕无码久久不卡 | 免费播放一区二区三区 | 性欧美疯狂xxxxbbbb | 一本色道久久综合亚洲精品不卡 | 中国女人内谢69xxxx | 亚洲七七久久桃花影院 | 久久天天躁夜夜躁狠狠 | 性色欲网站人妻丰满中文久久不卡 | 国产av无码专区亚洲a∨毛片 | 久久精品中文字幕大胸 | 欧美人与物videos另类 | 亚洲aⅴ无码成人网站国产app | 99久久99久久免费精品蜜桃 | 成人动漫在线观看 | 中文字幕乱码中文乱码51精品 | 国产亚洲欧美日韩亚洲中文色 | 丰满少妇高潮惨叫视频 | 欧美日本日韩 | 中文字幕乱码亚洲无线三区 | 亚洲午夜久久久影院 | 呦交小u女精品视频 | 国产精品毛片一区二区 | 5858s亚洲色大成网站www | 国产熟妇高潮叫床视频播放 | 国产热a欧美热a在线视频 | 欧美成人免费全部网站 | 红桃av一区二区三区在线无码av | 国产精品国产三级国产专播 | 国内精品久久毛片一区二区 | 日韩亚洲欧美精品综合 | 国产精品免费大片 | 精品亚洲韩国一区二区三区 | 一本无码人妻在中文字幕免费 | 精品成人av一区二区三区 | 午夜嘿嘿嘿影院 | 无码中文字幕色专区 | 国产午夜无码精品免费看 | 国产 精品 自在自线 | 乌克兰少妇xxxx做受 | 欧美日本日韩 | 中文字幕 亚洲精品 第1页 | 四虎永久在线精品免费网址 | 性欧美牲交在线视频 | 撕开奶罩揉吮奶头视频 | 中文字幕乱码人妻无码久久 | 天天做天天爱天天爽综合网 | 国产亚洲精品久久久久久 | 久久综合给合久久狠狠狠97色 | 国产精品va在线播放 | 高清无码午夜福利视频 | 综合激情五月综合激情五月激情1 | 国精品人妻无码一区二区三区蜜柚 | 国产成人一区二区三区在线观看 | 成人女人看片免费视频放人 | 美女张开腿让人桶 | 欧洲vodafone精品性 | 国产免费久久精品国产传媒 | 色婷婷综合中文久久一本 | 亚洲日韩一区二区三区 | 中文字幕无码av波多野吉衣 | 欧美成人午夜精品久久久 | 久久久久免费看成人影片 | 色综合久久久无码中文字幕 | 人妻少妇被猛烈进入中文字幕 | 中文字幕av无码一区二区三区电影 | 中文字幕人妻无码一区二区三区 | 影音先锋中文字幕无码 | 极品尤物被啪到呻吟喷水 | 国精品人妻无码一区二区三区蜜柚 | 日本乱偷人妻中文字幕 | 亚洲成av人综合在线观看 | 日本成熟视频免费视频 | 国产亲子乱弄免费视频 | 天堂在线观看www |