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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2018年12月2526日

發布時間:2024/1/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018年12月2526日 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小結:昨天因為整理課件,調代碼耗費了大量時間,所以沒來得及整理作業,這兩天主要做的題目是關于樹鏈剖分和線段樹的,難度大約都是省選難度,畢竟只要涉及到樹鏈剖分難度就肯定不低。

一. 完成的題目:

洛谷P3870,洛谷P2628,洛谷P3384,洛谷P2590,洛谷P3178,洛谷P2014,洛谷P4092,SP1716

二.

1. 完成題目數:8道。

2. 未完成6個題目的原因:

3. 復習的知識點:樹鏈剖分,樹型dp,dfs序,線段樹

4.不會題目:SP6779,洛谷P1823

三:

1.洛谷 P3870 [TJOI2009]開關

題目描述

現有\(N(2 ≤ N ≤ 100000)\)盞燈排成一排,從左到右依次編號為:\(1,2,......,N\)。然后依次執行\(M(1 ≤ M ≤ 100000)\)項操作,操作分為兩種:第一種操作指定一個區間\([a, b]\),然后改變編號在這個區間內的燈的狀態(把開著的燈關上,關著的燈打開),第二種操作是指定一個區間\([a, b]\),要求你輸出這個區間內有多少盞燈是打開的。燈在初始時都是關著的。

輸入輸出格式

輸入格式:

第一行有兩個整數\(N\)\(M\),分別表示燈的數目和操作的數目。接下來有\(M\)行,每行有三個整數,依次為:\(c, a, b\)。其中\(c\)表示操作的種類,當\(c\)的值為\(0\)時,表示是第一種操作。當\(c\)的值為\(1\)時表示是第二種操作。\(a\)\(b\)則分別表示了操作區間的左右邊界\((1 ≤ a ≤ b ≤ N)\)

輸出格式:

每當遇到第二種操作時,輸出一行,包含一個整數:此時在查詢的區間中打開的燈的數目。

輸入輸出樣例

輸入樣例#1:

4 5 0 1 2 0 2 4 1 2 3 0 2 4 1 1 4

輸出樣例#1:

1 2

思路:還是一道線段樹區間異或,思路跟之前做的洛谷P2574和洛谷P2846完全一樣。

代碼:

#include<cstdio> #include<cctype> #define maxn 100007 #define ls rt<<1 #define rs rt<<1|1 using namespace std; int n,m,sum[maxn<<2],lazy[maxn<<2]; inline int qread() {char c=getchar();int num=0,f=1;for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) num=num*10+c-'0';return num*f; } inline void pushup(int rt) {sum[rt]=sum[ls]+sum[rs]; } inline void pushdown(int rt, int len) {if(lazy[rt]) {lazy[ls]^=1;lazy[rs]^=1;sum[ls]=(len-(len>>1))-sum[ls];sum[rs]=(len>>1)-sum[rs];lazy[rt]=0;} } void modify(int rt, int l, int r, int L, int R) {if(L>r||R<l) return;if(L<=l&&r<=R) {lazy[rt]^=1;sum[rt]=r-l+1-sum[rt];return;}pushdown(rt,r-l+1);int mid=(l+r)>>1;modify(ls,l,mid,L,R),modify(rs,mid+1,r,L,R);pushup(rt); } int csum(int rt, int l, int r, int L, int R) {if(L>r||R<l) return 0;if(L<=l&&r<=R) return sum[rt];pushdown(rt,r-l+1);int mid=(l+r)>>1;return csum(ls,l,mid,L,R)+csum(rs,mid+1,r,L,R); } int main() {n=qread(),m=qread();for(int i=1,k,l,r;i<=m;++i) {k=qread(),l=qread(),r=qread();if(!k) modify(1,1,n,l,r);else printf("%d\n",csum(1,1,n,l,r));}return 0; }

2. 洛谷 P2826 LJJ的數學課

題目背景

題目描述(本題是提高組第二題難度+)

題目描述

LJJ又要開始上數學課啦!(T1,永恒不變的數學)

LJJ的Teacher對上次的考試很不滿意(其實是出題人對上次的分數那么高不滿意啦),決定在出一道難(water)題。


LJJ的Teacher給了LJJ一個數列,但這由于是LJJ的Teacher發明的,我們不稱呼他為LJJ數列,而稱他為Teacher數列。但是LJJ還停留在數數的階段啊,所以不能太難。


于是LJJ的Teacher隨便給出了一個Teacher數列。

Teacher會對這個數列進行兩個操作:

1:將其中的一個數加上s(s為整數)

2:Teacher會給出left和right,讓你求:

a[left](right-left+1) + a[left+1](right-left)

  • ...... + a[right-1]2 + a[right]1 的值。

LJJ的指頭掰不過來了呀,就請您來完成啦~

輸入輸出格式

輸入格式:

第一行有2個數n,q,分別表示Teacher數列中數的個數以及操作次數。

接下來的一行有n個數,第i個數表示a[i]。

再接下來q行,每行三個數;第一個數是order。如果order=1,那么接下來兩個數:x, s,即把a[x]加上s;如果order=2,那么接下來兩個數:left, right,即求這一段區間ljj要求的答案。

注意:Teacher數列中的數并不一定都是正數,但一定都是整數。

輸出格式:

對于每一個詢問(order=2)輸出所求答案

輸入輸出樣例

輸入樣例#1:

5 3 2 4 1 3 5 2 2 4 1 2 3 2 2 4

輸出樣例#1:

17 26

說明

數據范圍

n<=100000, q<=100000,保證答案不超過long long (int64) 范圍,保證數據有梯度

樣例解釋

43+12+3*1=17

73+12+3*1=26

提示 1.如果看不懂題目,那么看這里:給你一段數列,有兩種操作,單點修改和區間查詢。查詢left到right,返回的值是

a[left](right-left+1)+a[left+1](right-left)+...+a[right]*1。

2.從另一個角度去想問題,把區間答案劃分開來,否則你會打得很累。

3.題目中說是單點修改,而不是區間修改,有沒有覺得簡單得不可思議呢?

思路:把題目給的式子化一化,提出后面的right-1,變成\(a_{i}*(right+1)-a_{i}*i\),整個式子變成\(\sum_{}(a_{i}*(right+1)-a_{i}*i)\),用樹狀數組所以維護\(a_{i}*i\)和普通的加法和就好了。

代碼:

#include<cstdio> #include<cctype> #define maxn 100007 #define lb(x) x&(-x) #define ll long long using namespace std; ll n,m,a[maxn],b[maxn]; inline ll qread() {char c=getchar();ll num=0,f=1;for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) num=num*10+c-'0';return num*f; } inline void add(ll x, ll w) {ll p=x*w;while(x<=n) {a[x]+=w;b[x]+=p;x+=lb(x);} } inline ll csum1(ll x) {ll ans=0;while(x) {ans+=a[x];x-=lb(x);}return ans; } inline ll csum2(ll x) {ll ans=0;while(x) {ans+=b[x];x-=lb(x);}return ans; } int main() {n=qread(),m=qread();for(ll i=1,x;i<=n;++i) {x=qread();add(i,x);}for(ll i=1,k,l,r;i<=m;++i) {k=qread(),l=qread(),r=qread();if(k==1) add(l,r);else printf("%lld\n",(r+1)*(csum1(r)-csum1(l-1))-csum2(r)+csum2(l-1));}return 0; }

3. 洛谷P3384 【模板】樹鏈剖分

題目描述

如題,已知一棵包含N個結點的樹(連通且無環),每個節點上包含一個數值,需要支持以下操作:

操作1: 格式: 1 x y z 表示將樹從x到y結點最短路徑上所有節點的值都加上z

操作2: 格式: 2 x y 表示求樹從x到y結點最短路徑上所有節點的值之和

操作3: 格式: 3 x z 表示將以x為根節點的子樹內所有節點值都加上z

操作4: 格式: 4 x 表示求以x為根節點的子樹內所有節點值之和

輸入輸出格式

輸入格式:

第一行包含4個正整數N、M、R、P,分別表示樹的結點個數、操作個數、根節點序號和取模數(即所有的輸出結果均對此取模)。

接下來一行包含N個非負整數,分別依次表示各個節點上初始的數值。

接下來N-1行每行包含兩個整數x、y,表示點x和點y之間連有一條邊(保證無環且連通)

接下來M行每行包含若干個正整數,每行表示一個操作,格式如下:

操作1: 1 x y z

操作2: 2 x y

操作3: 3 x z

操作4: 4 x

輸出格式:

輸出包含若干行,分別依次表示每個操作2或操作4所得的結果(對P取模

輸入輸出樣例

輸入樣例#1:

5 5 2 24 7 3 7 8 0 1 2 1 5 3 1 4 1 3 4 2 3 2 2 4 5 1 5 1 3 2 1 3

輸出樣例#1:

2 21

說明

時空限制:1s,128M

數據規模:

對于30%的數據: N \leq 10, M \leq 10N≤10,M≤10

對于70%的數據: N \leq {10}^3, M \leq {10}^3N≤103,M≤103

對于100%的數據: N \leq {10}^5, M \leq {10}^5N≤105,M≤105

( 其實,純隨機生成的樹LCA+暴力是能過的,可是,你覺得可能是純隨機的么233 )

樣例說明:

樹的結構如下:

各個操作如下:

故輸出應依次為2、21(重要的事情說三遍:記得取模)

思路:思路在課件里面寫過了,不想再寫一遍了……就是一個樹鏈剖分加線段樹的板子題。

代碼:

#include<cstdio> #include<algorithm> #include<cctype> #define maxn 100007 #define ll long long #define ls rt<<1 #define rs rt<<1|1 using namespace std; int mod,head[maxn],d[maxn],sum[maxn<<2],a[maxn]; int num,cnt,n,m,lazy[maxn<<2],fa[maxn],id[maxn]; int rt,w[maxn],top[maxn],size[maxn],son[maxn]; inline int qread() {char c=getchar();int num=0,f=1;for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) num=num*10+c-'0';return num*f; } struct node {int v,nxt; }e[maxn<<1]; inline void ct(int u, int v) {e[++num].v=v;e[num].nxt=head[u];head[u]=num; } inline void pushup(int rt) {sum[rt]=(sum[ls]+sum[rs])%mod; } void build(int rt, int l, int r) {if(l==r) {sum[rt]=a[l];return;}int mid=(l+r)>>1;build(ls,l,mid);build(rs,mid+1,r);pushup(rt); } inline void pushdown(int rt, int len) {if(lazy[rt]) {lazy[ls]+=lazy[rt],lazy[ls]%=mod;lazy[rs]+=lazy[rt],lazy[rs]%=mod;sum[ls]+=(len-(len>>1))*lazy[rt],sum[ls]%=mod;sum[rs]+=(len>>1)*lazy[rt],sum[rs]%=mod;lazy[rt]=0;} } void modify(int rt, int l, int r, int L, int R, int val) {if(L>r||R<l) return;if(L<=l&&r<=R) {sum[rt]+=val*(r-l+1),sum[rt]%=mod;lazy[rt]+=val,lazy[rt]%=mod;return;}int mid=(l+r)>>1;pushdown(rt,r-l+1);modify(ls,l,mid,L,R,val),modify(rs,mid+1,r,L,R,val);pushup(rt); } int csum(int rt, int l, int r, int L, int R) {if(L>r||R<l) return 0;if(L<=l&&r<=R) return sum[rt];int mid=(l+r)>>1;pushdown(rt,r-l+1);return csum(ls,l,mid,L,R)+csum(rs,mid+1,r,L,R); } void dfs1(int u, int f) {size[u]=1;for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=f) {d[v]=d[u]+1;fa[v]=u;dfs1(v,u);size[u]+=size[v];if(size[v]>size[son[u]]) son[u]=v;}} } void dfs2(int u, int t) {id[u]=++cnt;a[cnt]=w[u];top[u]=t;if(son[u]) dfs2(son[u],t);for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=fa[u]&&v!=son[u]) dfs2(v,v);} } int calc(int x, int y) {int ans=0;int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);ans+=csum(1,1,cnt,id[fx],id[x]);x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);ans+=csum(1,1,cnt,id[x],id[y]);return ans; } void cal(int x, int y, int val) {int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);modify(1,1,cnt,id[fx],id[x],val);x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);modify(1,1,cnt,id[x],id[y],val); } int main() {n=qread(),m=qread(),rt=qread(),mod=qread();for(int i=1;i<=n;++i) w[i]=qread(),w[i]%=mod;for(int i=1,u,v;i<n;++i) {u=qread(),v=qread();ct(u,v);ct(v,u);}d[rt]=1,fa[rt]=1;dfs1(rt,0);dfs2(rt,rt);build(1,1,n);for(int i=1,k,x,y,z;i<=m;++i) {k=qread();if(k==1) {x=qread(),y=qread(),z=qread();cal(x,y,z%mod);}if(k==2) {x=qread(),y=qread();printf("%d\n",calc(x,y)%mod);}if(k==3) {x=qread(),y=qread();modify(1,1,n,id[x],id[x]+size[x]-1,y%mod);}if(k==4) {x=qread();printf("%d\n",csum(1,1,n,id[x],id[x]+size[x]-1)%mod);}}return 0; }

4. 洛谷P2590 [ZJOI2008]樹的統計

題目描述

一棵樹上有n個節點,編號分別為1到n,每個節點都有一個權值w。

我們將以下面的形式來要求你對這棵樹完成一些操作:

I. CHANGE u t : 把結點u的權值改為t

II. QMAX u v: 詢問從點u到點v的路徑上的節點的最大權值

III. QSUM u v: 詢問從點u到點v的路徑上的節點的權值和

注意:從點u到點v的路徑上的節點包括u和v本身

輸入輸出格式

輸入格式:

輸入文件的第一行為一個整數n,表示節點的個數。

接下來n – 1行,每行2個整數a和b,表示節點a和節點b之間有一條邊相連。

接下來一行n個整數,第i個整數wi表示節點i的權值。

接下來1行,為一個整數q,表示操作的總數。

接下來q行,每行一個操作,以“CHANGE u t”或者“QMAX u v”或者“QSUM u v”的形式給出。

輸出格式:

對于每個“QMAX”或者“QSUM”的操作,每行輸出一個整數表示要求輸出的結果。

輸入輸出樣例

輸入樣例#1:

4 1 2 2 3 4 1 4 2 1 3 12 QMAX 3 4 QMAX 3 3 QMAX 3 2 QMAX 2 3 QSUM 3 4 QSUM 2 1 CHANGE 1 5 QMAX 3 4 CHANGE 3 6 QMAX 3 4 QMAX 2 4 QSUM 3 4

輸出樣例#1:

4 1 2 2 10 6 5 6 5 16

說明

對于100%的數據,保證1<=n<=30000,0<=q<=200000;中途操作中保證每個節點的權值w在-30000到30000之間。

思路:這道題目跟洛谷P3384那到題的區別在于那道題是區間修改,這道題是單點修改,這道題還多了查詢任意兩點最短路徑上的最大點權,實際上區間修改包括單點修改,所以這道題只多用樹剖維護一個路徑最大點權即可。

代碼:

#include<cstdio> #include<algorithm> #include<cctype> #define maxn 30007 #define ls rt<<1 #define rs rt<<1|1 using namespace std; int head[maxn],d[maxn],lazy[maxn<<2],sum[maxn<<2]; int maxx[maxn<<2],a[maxn],num,cnt,n,m,fa[maxn],id[maxn]; int w[maxn],top[maxn],size[maxn],son[maxn]; char s[8]; struct node {int v,nxt; }e[maxn<<1]; inline void ct(int u, int v) {e[++num].v=v;e[num].nxt=head[u];head[u]=num; } inline void pushup(int rt) {sum[rt]=sum[ls]+sum[rs];maxx[rt]=max(maxx[ls],maxx[rs]); } void build(int rt, int l, int r) {if(l==r) {sum[rt]=a[l];maxx[rt]=a[l];return;}int mid=(l+r)>>1;build(ls,l,mid);build(rs,mid+1,r);pushup(rt); } void add(int rt, int l, int r, int L, int val) {if(l==r) {sum[rt]=maxx[rt]=val;return;}int mid=(l+r)>>1;if(L>mid) add(rs,mid+1,r,L,val);else add(ls,l,mid,L,val);pushup(rt); } int csum(int rt, int l, int r, int L, int R) {if(L>r||R<l) return 0;if(L<=l&&r<=R) return sum[rt];int mid=(l+r)>>1;return csum(ls,l,mid,L,R)+csum(rs,mid+1,r,L,R); } int cmax(int rt, int l, int r, int L, int R) {int ans=-1020040222;if(L>r||R<l) return 0;if(L<=l&&r<=R) return maxx[rt];int mid=(l+r)>>1;if(L<=mid) ans=max(ans,cmax(ls,l,mid,L,R));if(R>mid) ans=max(ans,cmax(rs,mid+1,r,L,R));return ans; } void dfs1(int u, int f) {size[u]=1;for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=f) {d[v]=d[u]+1;fa[v]=u;dfs1(v,u);size[u]+=size[v];if(size[v]>size[son[u]]) son[u]=v; }} } void dfs2(int u, int t) {id[u]=++cnt;a[cnt]=w[u];top[u]=t;if(son[u]) dfs2(son[u],t);for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=fa[u]&&v!=son[u]) dfs2(v,v);} } int calc1(int x, int y) {int maxx=-1020040222;int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);maxx=max(maxx,cmax(1,1,cnt,id[fx],id[x]));x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);maxx=max(maxx,cmax(1,1,cnt,id[x],id[y]));return maxx; } int calc2(int x, int y) {int ans=0;int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);ans+=csum(1,1,cnt,id[fx],id[x]);x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);ans+=csum(1,1,cnt,id[x],id[y]);return ans; } int main() {scanf("%d",&n);for(int i=1,u,v;i<n;++i) {scanf("%d%d",&u,&v);ct(u,v);ct(v,u);}for(int i=1;i<=n;++i) scanf("%d",&w[i]);d[1]=1,fa[1]=1;dfs1(1,0);dfs2(1,1);build(1,1,n);scanf("%d",&m);for(int i=1,x,y;i<=m;++i) {scanf("%s%d%d",s,&x,&y);if(s[1]=='H') add(1,1,n,id[x],y);if(s[1]=='M') printf("%d\n",calc1(x,y));if(s[1]=='S') printf("%d\n",calc2(x,y));}return 0; }

5. 洛谷P3178 [HAOI2015]樹上操作

題目描述

有一棵點數為 N 的樹,以點 1 為根,且樹點有邊權。然后有 M 個操作,分為三種:

  • 操作 1 :把某個節點 x 的點權增加 a 。
  • 操作 2 :把某個節點 x 為根的子樹中所有點的點權都增加 a 。
  • 操作 3 :詢問某個節點 x 到根的路徑中所有點的點權和。

輸入輸出格式

輸入格式:

第一行包含兩個整數 N, M 。表示點數和操作數。
接下來一行 N 個整數,表示樹中節點的初始權值。
接下來 N-1 行每行兩個正整數 from, to , 表示該樹中存在一條邊 (from, to) 。
再接下來 M 行,每行分別表示一次操作。其中第一個數表示該操作的種類( 1-3 ) ,之后接這個操作的參數( x 或者 x a ) 。

輸出格式:

對于每個詢問操作,輸出該詢問的答案。答案之間用換行隔開。

輸入輸出樣例

輸入樣例#1:

5 5 1 2 3 4 5 1 2 1 4 2 3 2 5 3 3 1 2 1 3 5 2 1 2 3 3

輸出樣例#1:

6 9 13

說明

對于 100% 的數據, N,M<=100000 ,且所有輸入數據的絕對值都不會超過 10^6 。

思路:這道題跟洛谷P3384的唯一區別在于這里是單點修改,上面說過,區間修改包括單點修改,所以,可是說是一點區別都沒有,就是打一遍加深一下對樹剖的印象。

代碼:

#include<cstdio> #include<algorithm> #include<cctype> #define maxn 100007 #define ll long long #define ls rt<<1 #define rs rt<<1|1 using namespace std; int head[maxn],d[maxn],a[maxn]; int num,cnt,n,m,fa[maxn],id[maxn]; int w[maxn],top[maxn],size[maxn],son[maxn]; ll lazy[maxn<<2],sum[maxn<<2],y; inline ll qread() {char c=getchar();ll num=0,f=1;for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) num=num*10+c-'0';return num*f; } struct node {int v,nxt; }e[maxn<<1]; inline void ct(int u, int v) {e[++num].v=v;e[num].nxt=head[u];head[u]=num; } inline void pushup(int rt) {sum[rt]=sum[ls]+sum[rs]; } void build(int rt, int l, int r) {if(l==r) {sum[rt]=a[l];return;}int mid=(l+r)>>1;build(ls,l,mid);build(rs,mid+1,r);pushup(rt); } inline void pushdown(int rt, int len) {if(lazy[rt]) {lazy[ls]+=lazy[rt];lazy[rs]+=lazy[rt];sum[ls]+=(len-(len>>1))*lazy[rt];sum[rs]+=(len>>1)*lazy[rt];lazy[rt]=0;} } void modify(int rt, int l, int r, int L, int R, ll val) {if(L>r||R<l) return;if(L<=l&&r<=R) {sum[rt]+=val*(r-l+1);lazy[rt]+=val;return;}int mid=(l+r)>>1;pushdown(rt,r-l+1);modify(ls,l,mid,L,R,val),modify(rs,mid+1,r,L,R,val);pushup(rt); } ll csum(int rt, int l, int r, int L, int R) {if(L>r||R<l) return 0;if(L<=l&&r<=R) return sum[rt];int mid=(l+r)>>1;pushdown(rt,r-l+1);return csum(ls,l,mid,L,R)+csum(rs,mid+1,r,L,R); } void dfs1(int u, int f) {size[u]=1;for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=f) {d[v]=d[u]+1;fa[v]=u;dfs1(v,u);size[u]+=size[v];if(size[v]>size[son[u]]) son[u]=v;}} } void dfs2(int u, int t) {id[u]=++cnt;a[cnt]=w[u];top[u]=t;if(son[u]) dfs2(son[u],t);for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=fa[u]&&v!=son[u]) dfs2(v,v);} } ll calc(int x, int y) {ll ans=0;int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);ans+=csum(1,1,cnt,id[fx],id[x]);x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);ans+=csum(1,1,cnt,id[x],id[y]);return ans; } int main() {n=qread(),m=qread();for(int i=1;i<=n;++i) w[i]=qread();for(int i=1,u,v;i<n;++i) {u=qread(),v=qread();ct(u,v);ct(v,u);}d[1]=1,fa[1]=1;dfs1(1,0);dfs2(1,1);build(1,1,n);for(int i=1,k,x;i<=m;++i) {k=qread();if(k==1) {x=qread(),y=qread();modify(1,1,n,id[x],id[x],y);}if(k==2) {x=qread(),y=qread();modify(1,1,n,id[x],id[x]+size[x]-1,y);}if(k==3) {x=qread();printf("%lld\n",calc(1,x));}}return 0; }

6. 洛谷 P2014 選課

題目描述

在大學里每個學生,為了達到一定的學分,必須從很多課程里選擇一些課程來學習,在課程里有些課程必須在某些課程之前學習,如高等數學總是在其它課程之前學習。現在有N門功課,每門課有個學分,每門課有一門或沒有直接先修課(若課程a是課程b的先修課即只有學完了課程a,才能學習課程b)。一個學生要從這些課程里選擇M門課程學習,問他能獲得的最大學分是多少?

輸入輸出格式

輸入格式:

第一行有兩個整數N,M用空格隔開。(1<=N<=300,1<=M<=300)

接下來的N行,第I+1行包含兩個整數ki和si, ki表示第I門課的直接先修課,si表示第I門課的學分。若ki=0表示沒有直接先修課(1<=ki<=N, 1<=si<=20)。

輸出格式:

只有一行,選M門課程的最大得分。

輸入輸出樣例

輸入樣例#1:

7 4 2 2 0 1 0 4 2 1 7 1 7 6 2 2

輸出樣例#1:

13

思路:數據范圍也不是特別大,可以考慮樹型dp,首先,建圖就是按照題目所給的信息建有向邊,之后我們用f[i][j]表示以i為頂點,選了j門課程的最大得分,然后dfs時枚舉每條與一個點相連的邊,用這個結點去更新它的子節點為頂點時的初始值,然后遍歷完它所有的子節點之后,再回過頭來更新這個結點為頂點時的最大值。

代碼:

#include<cstdio> #include<algorithm> #define maxn 307 using namespace std; int n,m,head[maxn],f[maxn][maxn],w[maxn],num; struct node {int v,nxt; }e[maxn]; inline void ct(int u, int v) {e[++num].v=v;e[num].nxt=head[u];head[u]=num; } void dfs(int u, int k) {for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;for(int j=k+1;j<=m+1;++j) f[v][j]=f[u][j-1]+w[v];dfs(v,k+1);for(int j=k+1;j<=m+1;++j) f[u][j]=max(f[u][j],f[v][j]);} } int main() {scanf("%d%d",&n,&m);for(int i=1,u;i<=n;++i) {scanf("%d%d",&u,&w[i]);ct(u,i);}dfs(0,1);printf("%d\n",f[0][m+1]);return 0; }

7. 洛谷P4092 [HEOI2016/TJOI2016]樹

題目描述

在2016年,佳媛姐姐剛剛學習了樹,非常開心。現在他想解決這樣一個問題:給定一顆有根樹(根為1),有以下兩種操作:

  • 標記操作:對某個結點打上標記(在最開始,只有結點1有標記,其他結點均無標記,而且對于某個結點,可以打多次標記。)

  • 詢問操作:詢問某個結點最近的一個打了標記的祖先(這個結點本身也算自己的祖先)

  • 你能幫幫他嗎?

    輸入輸出格式

    輸入格式:

    輸入第一行兩個正整數N和Q分別表示節點個數和操作次數

    接下來N-1行,每行兩個正整數u,v(1≤u,v≤n)表示u到v有一條有向邊

    接下來Q行,形如“opernum”oper為“C”時表示這是一個標記操作,oper為“Q”時表示這是一個詢問操作對于每次詢問操作。

    輸出格式:

    輸出一個正整數,表示結果

    輸入輸出樣例

    輸入樣例#1:

    5 5 1 2 1 3 2 4 2 5 Q 2 C 2 Q 2 Q 5 Q 3

    輸出樣例#1:

    1 2 2 1

    說明

    30%的數據,1 ≤ N, Q ≤ 1000

    70%的數據,1 ≤ N, Q ≤ 10000

    100%的數據,1 ≤ N, Q ≤ 100000

    思路:題意就是讓你設計一個數據結構,支持:

  • 單點修改:加標記。
  • 詢問操作:詢問某個結點最近的一個打了標記的祖先(自己也算自己的祖先)。
  • 單點修改就不用說了吧,對于操作2,我們發現離某個結點最近的一個打了標記的祖先就是樹剖時第二遍dfs的id值大的那個祖先(前提是打過標記),然后樹鏈剖分,用線段樹維護最大值。

    代碼:

    #include<cstdio> #include<algorithm> #define maxn 100007 #define ls rt<<1 #define rs rt<<1|1 using namespace std; int cnt,n,m,head[maxn],num,size[maxn],d[maxn]; int id[maxn],maxx[maxn<<2],son[maxn],fa[maxn]; int a[maxn],top[maxn]; char c[3]; struct node {int v,nxt; }e[maxn<<2]; inline void ct(int u, int v) {e[++num].v=v;e[num].nxt=head[u];head[u]=num; } void dfs1(int u, int f) {size[u]=1;for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=f) {d[v]=d[u]+1;fa[v]=u;dfs1(v,u);size[u]+=size[v];if(size[v]>size[son[u]]) son[u]=v; }} } void dfs2(int u, int t) {id[u]=++cnt;top[u]=t;a[cnt]=u;if(son[u]) dfs2(son[u],t);for(int i=head[u];i;i=e[i].nxt) {int v=e[i].v;if(v!=fa[u]&&v!=son[u]) dfs2(v,v);} } void pushup(int rt) {maxx[rt]=max(maxx[ls],maxx[rs]); } void add(int rt, int l, int r, int val) {if(l==r) {maxx[rt]=val;return;}int mid=(l+r)>>1;if(val>mid) add(rs,mid+1,r,val);else add(ls,l,mid,val);pushup(rt); } int cmax(int rt, int l, int r, int L, int R) {if(L>r||R<l) return 0;if(L<=l&&r<=R) return maxx[rt];int ans=0;int mid=(l+r)>>1;if(L<=mid) ans=max(ans,cmax(ls,l,mid,L,R));if(R>mid) ans=max(ans,cmax(rs,mid+1,r,L,R));return ans; } int query(int x, int y) {int maxx=0;int fx=top[x],fy=top[y];while(fx!=fy) {if(d[fx]<d[fy]) swap(x,y),swap(fx,fy);maxx=max(maxx,cmax(1,1,cnt,id[fx],id[x]));x=fa[fx],fx=top[x];}if(id[x]>id[y]) swap(x,y);maxx=max(maxx,cmax(1,1,cnt,id[x],id[y]));return a[maxx]; } int main() {scanf("%d%d",&n,&m);for(int i=1,u,v;i<n;++i) {scanf("%d%d",&u,&v);ct(u,v);ct(v,u);}d[1]=1;dfs1(1,0);dfs2(1,1);add(1,1,n,id[1]);for(int i=1,x;i<=m;++i) {scanf("%s%d",c,&x);if(c[0]=='C') add(1,1,n,id[x]);else printf("%d\n",query(x,1));}return 0; }

    8. SP1716 GSS3

    題意翻譯

    n 個數,q 次操作

    操作0 x y把\(A_x\) 修改為y

    操作1 l r詢問區間[l, r][l,r] 的最大子段和

    輸入輸出格式

    輸入格式:

    The first line of input contains an integer N. The following line contains N integers, representing the sequence A1..AN.
    The third line contains an integer M. The next M lines contain the operations in following form:
    0 x y: modify Ax into y (|y|<=10000).
    1 x y: print max{Ai + Ai+1 + .. + Aj | x<=i<=j<=y }.

    輸出格式:

    For each query, print an integer as the problem required.

    輸入輸出樣例

    輸入樣例#1:

    4 1 2 3 4 4 1 1 3 0 3 -3 1 2 4 1 3 3

    輸出樣例#1:

    6 4 -3

    思路:首先分析詢問的本質:求出區間最大子段和!很顯然我們可以使用線段樹維護序列,本題的難點主要在如何進行上傳操作,將子樹l和r的節點信息上傳到子樹rt時,對于rt維護的序列中,和最大的子段有兩種情況:

  • 子段不經過中點,那么 rt 的答案為 l 和 r 的答案的最大值。
  • 子段經過了中點。這種情況比較復雜,因為我們無法知道子樹的答案所對應的序列。這也是本題的難點所在。
  • 然后我們用結構體板線段樹來分情況維護一下最大字段和即可,結構體傳址快。

    代碼:

    #include<cstdio> #include<algorithm> #include<cctype> #define maxn 50007 #define ls rt<<1 #define rs rt<<1|1 using namespace std; inline int qread() {char c=getchar();int num=0,f=1;for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) num=num*10+c-'0';return num*f; } int n,m; struct Tree {int lmax,rmax,sum,maxx; }tree[maxn<<2]; inline void pushup(int rt) {tree[rt].lmax=max(tree[ls].lmax,tree[ls].sum+tree[rs].lmax);tree[rt].rmax=max(tree[rs].rmax,tree[rs].sum+tree[ls].rmax);tree[rt].maxx=max(tree[ls].rmax+tree[rs].lmax,max(tree[ls].maxx,tree[rs].maxx));tree[rt].sum=tree[ls].sum+tree[rs].sum; } void build(int rt, int l, int r) {if(l==r) {tree[rt].lmax=tree[rt].rmax=tree[rt].sum=tree[rt].maxx=qread();return;}int mid=(l+r)>>1;build(ls,l,mid);build(rs,mid+1,r);pushup(rt); } void add(int rt, int l, int r, int L, int val) {if(l==r) {tree[rt].lmax=tree[rt].rmax=tree[rt].sum=tree[rt].maxx=val;return;}int mid=(l+r)>>1;if(L<=mid) add(ls,l,mid,L,val);else add(rs,mid+1,r,L,val);pushup(rt); } Tree query(int rt, int l, int r, int L, int R) {if(L==l&&r==R) return tree[rt];int mid=(l+r)>>1;if(L>mid) return query(rs,mid+1,r,L,R);else if(R<=mid) return query(ls,l,mid,L,R);else {Tree a=query(ls,l,mid,L,mid),b=query(rs,mid+1,r,mid+1,R),c;c.lmax=max(a.lmax,a.sum+b.lmax);c.rmax=max(b.rmax,b.sum+a.rmax);c.sum=a.sum+b.sum;c.maxx=max(a.rmax+b.lmax,max(a.maxx,b.maxx));return c;} } int main() {n=qread();build(1,1,n);m=qread();for(int i=1,k,x,y;i<=m;++i) {k=qread(),x=qread(),y=qread();if(!k) add(1,1,n,x,y);else printf("%d\n",query(1,1,n,x,y).maxx);}return 0; }

    轉載于:https://www.cnblogs.com/grcyh/p/10187647.html

    總結

    以上是生活随笔為你收集整理的2018年12月2526日的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    99在线视频观看 | 一区二区三区中文字幕在线观看 | 久久九九国产视频 | 天天色天天操天天爽 | 一级特黄av| 精品在线观看一区二区 | 国产在线观看中文字幕 | 91大神精品视频 | 免费日韩视频 | 国产在线精品一区二区不卡了 | av 一区 二区 久久 | 久草免费资源 | 久99久中文字幕在线 | 久久电影国产免费久久电影 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日韩精品视频在线观看网址 | 久久国内精品视频 | 2023av| 亚洲精品国偷拍自产在线观看蜜桃 | 91成人精品观看 | 国产一区二区不卡视频 | 伊人在线视频 | 国产黄在线 | 探花视频免费在线观看 | 91精品久久久久久粉嫩 | 中文字幕在线观看第一区 | 日韩网| 五月激情在线 | 在线观看你懂的网站 | 狠狠干婷婷色 | 婷婷av资源| 成年人在线免费看视频 | 深夜免费福利在线 | 国产一线二线三线在线观看 | mm1313亚洲精品国产 | 中文字幕三区 | 日韩在线观看影院 | 99久热| 999国内精品永久免费视频 | 亚洲一区动漫 | 欧美成人在线网站 | 操操综合网| 91丨九色丨高潮丰满 | 亚洲精品国产精品国产 | 色综合久久久久综合 | 国产四虎在线 | 中文字幕在线视频国产 | 国产一区在线视频 | 亚洲天天干 | 中文字幕在线一二 | 欧美与欧洲交xxxx免费观看 | 国产午夜一级毛片 | 麻豆视频免费在线观看 | 一区电影| 久久免费试看 | 久久欧洲视频 | 国产99久| 六月丁香六月婷婷 | 国产黄色片免费在线观看 | 国产精品美女久久久久aⅴ 干干夜夜 | 激情综合婷婷 | 国产成人精品亚洲a | 美女国产 | 国产精品入口66mio女同 | 久久五月婷婷综合 | 黄色大片免费网站 | 久久精品视频国产 | 免费色网 | 最近中文字幕高清字幕免费mv | 一区中文字幕电影 | 国产精品久久久久久超碰 | 五月婷婷激情五月 | 日韩激情网 | 九月婷婷综合网 | 欧美成人在线免费观看 | 69亚洲视频| 午夜精品一区二区三区在线播放 | 99热国产在线中文 | 九九久久久 | 人人网人人爽 | 国产综合婷婷 | 在线观看视频一区二区 | 最近能播放的中文字幕 | 免费网站在线 | 色狠狠综合 | 不卡国产视频 | 国产 中文 日韩 欧美 | 日本中文一级片 | 91福利视频网站 | 蜜臀av性久久久久av蜜臀妖精 | 二区三区在线观看 | 国产麻豆精品一区 | 欧美精品小视频 | 色资源在线观看 | 免费日韩电影 | 日韩av影视在线观看 | 亚洲aⅴ久久精品 | 91豆麻精品91久久久久久 | 日本精品久久 | 婷婷色在线 | 狠狠色丁香婷婷综合欧美 | 亚洲国产午夜精品 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 欧美日一级片 | 亚洲精品国产精品国自产 | 成人久久精品 | 亚洲国内精品在线 | 日韩在线理论 | 亚洲资源片 | 又色又爽又黄高潮的免费视频 | 亚洲激情五月 | 911免费视频| 国产精品专区在线观看 | 日韩在线观看视频中文字幕 | 免费在线观看中文字幕 | 国产精品美 | 色操插 | 天天干天天想 | 夜夜视频 | av+在线播放在线播放 | 在线观看精品一区 | 日本中出在线观看 | 又爽又黄又无遮挡网站动态图 | 看片一区二区三区 | 91精彩视频 | 久久专区| 久久精品一区八戒影视 | 国内精品亚洲 | 亚洲成人动漫在线观看 | 久久久国产一区二区三区四区小说 | japanesefreesex中国少妇 | 久久久视频在线 | 91日韩在线 | 奇米网在线观看 | 成人黄色免费观看 | 欧美亚洲久久 | 国产成人精品午夜在线播放 | 天天射天天干天天插 | 国产区 在线| 亚洲精品午夜久久久久久久 | 久久在线视频精品 | 久久er99热精品一区二区三区 | 免费av网址大全 | 亚洲精品美女久久久久网站 | 国产手机视频在线观看 | 国产精品中文字幕在线 | 在线观看视频国产 | 六月色丁 | 免费视频在线观看网站 | 视频在线99| 精品国产伦一区二区三区观看说明 | 天天看天天干天天操 | 国产一区视频在线播放 | 天天做天天爽 | 国产高清在线视频 | 亚洲成人av电影在线 | 免费69视频 | 手机av网站 | 色婷婷国产精品 | 精品美女国产在线 | 免费毛片aaaaaa| 久久久国际精品 | 国产一性一爱一乱一交 | 国产精品剧情在线亚洲 | 久久国产综合视频 | 98涩涩国产露脸精品国产网 | 亚洲国产操 | 久久精品欧美一 | 波多野结衣在线观看视频 | 日韩免费大片 | 久久免费视频一区 | 久久精品一区二区国产 | 国语精品久久 | 国产精品久久久久久久久久久久冷 | 久久综合操| 久久成人国产精品免费软件 | 日精品在线观看 | 国产小视频在线观看 | 超碰在线最新网址 | 日韩免费在线视频观看 | 亚洲天堂网站视频 | .精品久久久麻豆国产精品 亚洲va欧美 | 三级av片| 伊人天天色 | 久久精品亚洲国产 | 五月色丁香 | 久久性生活片 | 在线观看中文字幕亚洲 | 国产91精品一区二区麻豆网站 | 国产精品 中文字幕 亚洲 欧美 | 日韩精品久久久久久久电影竹菊 | 欧美午夜性 | 伊人色播 | 日韩一二区在线观看 | 中文字幕成人 | 日韩成人免费在线观看 | 91视频在线观看大全 | 四虎在线免费观看 | 曰本免费av| 日韩午夜三级 | www.av在线.com| av成人在线电影 | 日韩精品在线免费观看 | 美女网站色免费 | 91看片在线播放 | 中文字幕在线视频一区二区 | 久久er99热精品一区二区 | 亚洲精品美女在线观看播放 | 国产精品第二页 | h动漫中文字幕 | 天堂在线视频中文网 | 久久黄色小说视频 | 狠狠操电影网 | 久久久一本精品99久久精品66 | 中文字幕观看在线 | 999视频在线播放 | 天天草天天爽 | av一区在线播放 | 欧美日韩一区久久 | 久久a级片 | 激情视频二区 | 亚洲精品久久视频 | 亚洲精品福利视频 | 九九在线高清精品视频 | 国产精品成人av在线 | 日日摸日日爽 | 久久九九国产视频 | 欧美福利在线播放 | 美女免费视频一区二区 | 成年人视频在线免费 | freejavvideo日本免费 | 久久精品亚洲综合专区 | 黄色日本免费 | 91传媒激情理伦片 | 91精品视频免费观看 | 人人看人人草 | 久久a久久 | 亚洲精品小视频在线观看 | 国产精品不卡在线观看 | 国产很黄很色的视频 | 国产麻豆精品传媒av国产下载 | 狠狠操.com | 久久久久久久久久久综合 | 最近中文字幕视频网 | 91av视频免费在线观看 | av一级片在线观看 | 国产又粗又猛又黄又爽 | 久久免费久久 | www.久久精品视频 | 99精品久久99久久久久 | 日韩在线高清视频 | 夜又临在线观看 | 亚洲国产黄色片 | 一本一本久久a久久精品综合小说 | 国产午夜一区二区 | 在线观看深夜视频 | 国产精品av免费在线观看 | 激情小说久久 | 精品福利在线 | 日韩高清在线一区 | 久久久片 | 国产高清免费视频 | 在线观看免费中文字幕 | 日本黄色黄网站 | 久久免费视频这里只有精品 | 久久久国内精品 | 色婷婷亚洲综合 | 久久久官网 | www.久热| 国产裸体bbb视频 | 久久久九色精品国产一区二区三区 | 国产精品一区二区中文字幕 | 欧美日韩一区二区三区不卡 | 2018亚洲男人天堂 | 亚洲va欧洲va国产va不卡 | 亚洲一级片在线观看 | 在线观看亚洲视频 | 丁香六月婷婷综合 | 国产99在线 | 欧美在线视频日韩 | 精品久久福利 | 久草免费在线 | 精品国内| 成年人电影毛片 | 911国产| 亚洲国产一区在线观看 | 亚洲精品动漫成人3d无尽在线 | 黄色的网站免费看 | 免费观看第二部31集 | 国产精品18videosex性欧美 | 中日韩欧美精彩视频 | 国产精品18久久久 | 天天视频色 | 日韩欧美在线观看一区二区三区 | 在线亚洲欧美视频 | 99久久精品久久亚洲精品 | 亚洲精品乱码久久久久久高潮 | 国产一区二区免费 | 成人动漫一区二区 | 国产精品久久 | 人人爽夜夜爽 | 国产亚洲婷婷免费 | 久久成| 五月开心综合 | 91完整版观看 | 在线天堂8√ | 国产一级免费在线观看 | 国产精品青草综合久久久久99 | 日韩电影一区二区在线观看 | 日韩性xxx| 天天干天天弄 | 国产精品大全 | 射射射av | 久久视频在线免费观看 | 99精品视频播放 | 五月婷婷六月综合 | 国产91精品久久久久久 | 免费在线黄 | 亚洲国产剧情av | 亚洲高清国产视频 | 国产精品久久久久久久久婷婷 | 香蕉视频在线观看免费 | 婷婷午夜激情 | 久久久久久国产精品亚洲78 | 国产精品一区二区三区在线免费观看 | 亚洲区色 | www.看片网站 | 亚洲女在线 | 九九九电影免费看 | .国产精品成人自产拍在线观看6 | 国产91影视| 久久久久久网址 | 超碰在线免费福利 | 国产中文字幕一区 | 久久亚洲欧美日韩精品专区 | 午夜视频在线观看一区二区三区 | 国产免费中文字幕 | 久久免费视频99 | av福利在线免费观看 | 正在播放国产91 | 99中文视频在线 | 伊人伊成久久人综合网站 | 久久久久夜色 | 国产精品久久综合 | 免费看一级黄色 | 国产丝袜网站 | 五月天久久综合网 | 一区二区精品在线视频 | 精品亚洲成a人在线观看 | 亚洲精品视频免费看 | 久久久九色精品国产一区二区三区 | 激情欧美一区二区三区免费看 | 久久久麻豆精品一区二区 | 国产日韩精品久久 | a亚洲视频 | 日日碰狠狠躁久久躁综合网 | 欧美日韩精品在线 | 日韩亚洲精品电影 | 日本性生活免费看 | 午夜黄网 | 午夜一级免费电影 | 日日综合| 亚洲精品美女在线 | 欧美一区二区在线免费观看 | 91九色综合 | 成人网页在线免费观看 | 国产在线观看污片 | 亚洲国产精品免费 | 亚洲乱码精品 | 天天操天天干天天爽 | 91传媒激情理伦片 | 国产一区二区久久久久 | 最近中文字幕久久 | 久久er99热精品一区二区三区 | 中文字幕一区二区在线播放 | av亚洲产国偷v产偷v自拍小说 | 天天干,天天操 | va视频在线| 精油按摩av | 久久天天躁夜夜躁狠狠躁2022 | 午夜成人影视 | 久久精品这里精品 | 在线观看av网 | 天天拍天天爽 | 在线观看中文av | 97av在线视频免费播放 | 69久久久| 亚洲精品成人 | 成人免费看视频 | 亚洲精品高清视频 | 亚洲一区二区三区miaa149 | 国产一区免费在线观看 | 欧美日产在线观看 | 99久久成人 | 久久艹国产视频 | 午夜国产福利在线 | 国产伦精品一区二区三区无广告 | 91成人蝌蚪 | 91电影福利| 亚洲精品乱码久久久久久久久久 | 黄色大全视频 | 亚洲欧美精品一区二区 | 国产一区二区久久精品 | 黄色成人91 | 波多在线视频 | 一区二区三区免费播放 | 国产精品久久久久久久久久东京 | 国产成人亚洲精品自产在线 | 亚洲 欧美 精品 | 亚洲理论在线观看电影 | 91精品视频一区二区三区 | 亚洲做受高潮欧美裸体 | 99精品视频观看 | 久久 地址| 青青河边草免费 | 国产麻豆果冻传媒在线观看 | 91香蕉国产在线观看软件 | 日韩免费福利 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 黄色小网站在线观看 | 国内精品久久久久影院一蜜桃 | 久久综合九色综合网站 | 99视频在线 | 黄色官网在线观看 | 成人午夜电影久久影院 | 99精品国产一区二区三区麻豆 | 欧美日韩久久 | 在线免费观看黄色 | 欧美在线视频一区二区三区 | 91在线播放视频 | 亚洲成年人在线播放 | 国产精品视屏 | 波多野结衣电影一区 | 天天摸天天操天天舔 | 最新中文字幕视频 | 有码视频在线观看 | 欧美性春潮 | 久久99爱视频 | 国产精品乱码久久久 | 日韩欧美在线一区 | 欧美美女激情18p | 国产成人av在线影院 | 天天舔天天射天天操 | 久久av伊人 | 久草免费新视频 | 国产一级二级在线观看 | 欧美日韩在线精品 | 日韩精品91偷拍在线观看 | 日韩欧美中文 | 欧美日韩网站 | 国内外成人在线视频 | 午夜精品一区二区三区视频免费看 | 欧美黄色成人 | 深爱婷婷网 | 国产不卡免费 | 看国产黄色大片 | 九草视频在线 | 久久精彩免费视频 | 欧美精品一区二区三区一线天视频 | 狠狠色伊人亚洲综合网站野外 | 国产另类xxxxhd高清 | 欧产日产国产69 | 国产一区免费 | www.久草视频 | 久久在线免费观看 | 天天色.com | 五月婷婷丁香 | 欧美日韩高清免费 | 久久久免费毛片 | 国产 一区二区三区 在线 | 深夜免费福利视频 | www久久99 | 久久五月激情 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩国产综合网 | 青青看片 | 日韩午夜网站 | 在线观看中文字幕亚洲 | 91av在线免费视频 | 黄色成人免费电影 | 国产午夜精品一区二区三区四区 | 成人午夜电影在线播放 | 手机色站| 国内精品久久久久久久影视麻豆 | 涩涩网站免费 | 久久综合九色综合97_ 久久久 | 亚洲精品成人在线 | 免费观看高清 | 日韩欧美国产成人 | 国产福利一区二区三区在线观看 | 99re视频在线观看 | 日韩免费三区 | 亚洲成人资源网 | 96亚洲精品久久 | 国产一区在线看 | 国产一级性生活视频 | 欧美另类v | 色综久久| 午夜10000| 亚洲精品裸体 | 欧美大香线蕉线伊人久久 | 久久久久久高潮国产精品视 | 亚洲精品合集 | 亚洲有 在线 | 日韩免费中文 | 九九热久久免费视频 | wwwwww色| 日韩av一区二区三区 | 午夜精品久久久久久久久久久久久久 | 91人人射 | 超碰97在线看 | 欧美日韩有码 | 欧美成人中文字幕 | 欧美精品久久久久久久久久 | 国产99一区二区 | 欧美一区二区三区在线看 | 中文字幕在线字幕中文 | 精品一区二区在线免费观看 | 国精产品满18岁在线 | 天堂在线视频免费观看 | 亚洲 欧美变态 另类 综合 | 国产在线观看免费观看 | 亚洲午夜精品在线观看 | 色香蕉在线视频 | 日本成人中文字幕在线观看 | 色欲综合视频天天天 | 成人四虎影院 | 天天插伊人 | 国产四虎影院 | 人人爱天天操 | 人人搞人人干 | 天天操天天摸天天射 | 在线观看免费av网站 | 国产成人精品在线播放 | 九草在线观看 | 亚洲一区 影院 | 国产高清精 | 日韩av片无码一区二区不卡电影 | 国产精品丝袜久久久久久久不卡 | av在线播放免费 | 亚洲国产精品成人精品 | 免费日韩一区 | 亚洲欧美日韩精品久久奇米一区 | 欧美性天天 | 91精品在线视频观看 | 久久久国产精品一区二区中文 | 在线观看日韩中文字幕 | 黄色a一级视频 | 国产欧美久久久精品影院 | 国产精品久久久久久久久久久久午夜 | 九色91视频 | 中文字幕免费观看视频 | 亚洲欧洲精品在线 | 伊人天堂网| 国产精品99久久久久久久久 | 欧美日韩一区二区久久 | 亚洲综合色丁香婷婷六月图片 | 亚洲全部视频 | 久久黄色网 | 夜夜夜夜操 | 国产在线专区 | 亚洲精品美女视频 | 亚洲激情精品 | 亚洲精品国产综合久久 | 99精品国产亚洲 | 日韩免费一级电影 | 国内精品久久影院 | 超碰av在线播放 | 伊人五月天 | 天天爱天天插 | 五月激情在线 | 狠狠狠狠干| 福利一区二区三区四区 | 啪一啪在线 | 日韩av不卡在线播放 | 亚州国产精品视频 | 在线观看国产高清视频 | 国产精品18久久久久vr手机版特色 | 成全在线视频免费观看 | 一级特黄aaa大片在线观看 | 超碰99在线 | 色综合久久久久综合体桃花网 | 玖玖视频网 | 波多野结衣一区三区 | 免费看片成人 | 1024手机看片国产 | 精品国产免费久久 | 国产亚洲欧美在线视频 | 国产一区二区久久久久 | 亚洲久在线 | 黄视频网站大全 | 成人免费视频视频在线观看 免费 | 免费观看第二部31集 | 国内小视频在线观看 | 美女搞黄国产视频网站 | 麻花豆传媒mv在线观看 | 欧美日韩精品区 | 日p视频| 91福利视频久久久久 | 午夜久久网 | 国产视频不卡 | 中国美女一级看片 | www.人人干 | 天天夜夜狠狠操 | 国产精品美女网站 | 久久久国产精品一区二区三区 | 在线观看黄色av | 亚洲一级片免费观看 | 精品91在线 | 国产最顶级的黄色片在线免费观看 | 在线成人欧美 | 免费看片网页 | 亚洲视频在线观看网站 | 男女精品久久 | 色丁香婷婷 | 国产啊v在线 | www免费网站在线观看 | 在线看一区| 手机看片午夜 | 超碰在线最新地址 | 久久久久久久久精 | 最近中文字幕mv免费高清在线 | 一本一本久久a久久精品综合 | 99精品99| 久久久首页 | 狠狠操在线 | 亚洲精品自拍视频在线观看 | 男女免费视频观看 | 亚洲精品动漫成人3d无尽在线 | 久久精品小视频 | 一区 二区电影免费在线观看 | 欧美日韩高清在线一区 | 国产成人不卡 | 日韩av在线免费播放 | 成人av在线直播 | 丁香视频五月 | 91麻豆网站| 色婷婷视频在线观看 | 99热国产精品| 99久久er热在这里只有精品66 | 国产精品成人免费精品自在线观看 | 色综合久久久久 | 激情视频免费在线观看 | 精品国产免费一区二区三区五区 | 午夜色婷婷 | 可以免费观看的av片 | 狠狠干夜夜 | 精品国产中文字幕 | 国产免费a| 国产日韩一区在线 | 97成人在线免费视频 | 日韩精品三区四区 | 精品一二三四视频 | 狠狠的日| 国产精品一区免费观看 | 在线免费国产 | 一区二区视频在线看 | 一区在线免费观看 | 三级在线视频观看 | 国产午夜精品一区 | 日韩在线视频免费看 | 91丨九色丨蝌蚪丨老版 | 不卡av电影在线 | 亚洲成a人片综合在线 | 国产精品久久久视频 | 国产99久久久精品 | 日韩精品无 | 综合五月| 国产精品久久久久久影院 | 99欧美精品 | 亚洲综合色激情五月 | 日韩一区二区免费视频 | 亚洲电影一级黄 | 97碰在线| 亚洲精品中文字幕视频 | 欧美视频在线观看免费网址 | 在线观看黄色的网站 | 免费日韩av电影 | 国产亚洲人成网站在线观看 | 国外av在线 | 91九色蝌蚪视频 | www..com黄色片| 日韩成人在线免费观看 | 国产一区二区在线影院 | 日韩av一区在线观看 | 免费看一级黄色 | 婷婷 综合 色 | 天天av综合网 | 91亚洲免费 | 在线国产不卡 | 中文字幕av在线免费 | 久久高清国产 | 成人亚洲网 | 日韩电影在线一区 | 午夜精品久久久久久久99水蜜桃 | 久久一二三四 | 中文字幕av免费观看 | 国产一级电影 | 成人一区二区三区在线 | 久久999久久 | 亚洲日本一区二区在线 | 国产精品久久久久久久免费大片 | 成人免费在线电影 | 久草在线免费在线观看 | 正在播放一区 | 国产精品久久久久久久久久久杏吧 | 国产999在线观看 | 一区二区三区在线观看免费 | 日本久久久久久久久久 | 亚洲精品视频在线播放 | 久久99久| 久久精品老司机 | 国产亚洲精品免费 | 国产精品18久久久久久久久久久久 | 日韩一区二区免费在线观看 | 久久成人国产精品免费软件 | 成人在线免费小视频 | 日韩电影一区二区在线观看 | 久久成人麻豆午夜电影 | 欧美日韩网址 | 久久桃花网 | 日日操网站 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 色激情在线 | 精品免费视频 | 激情久久伊人 | 操高跟美女 | 精品国产a | 亚洲视频一区二区三区在线观看 | 波多在线视频 | av手机版| 成人av午夜 | 97精品久久| 亚洲第一av在线 | 中文字幕欲求不满 | 色a资源在线 | 婷婷久久五月天 | 精品亚洲国产视频 | 在线看av的网址 | 久草在线免费看视频 | 国产精品激情 | 中文字幕在线观看免费高清电影 | 久久精品观看 | 综合中文字幕 | av福利在线免费观看 | 奇米网444 | 久久亚洲免费 | 深爱激情久久 | 久久99热精品这里久久精品 | 久久久久久高潮国产精品视 | 国产一线在线 | 色婷婷综合久久久久中文字幕1 | 国产精品地址 | 视频在线观看亚洲 | 国产午夜剧场 | 91亚洲精品在线观看 | 日本动漫做毛片一区二区 | 国产 一区二区三区 在线 | 日日夜夜天天操 | 亚洲在线精品 | 久久中文字幕在线视频 | 日韩欧美在线国产 | 免费福利视频导航 | 欧女人精69xxxxxx | 精品国产人成亚洲区 | 欧美一级片播放 | 九九九在线观看视频 | 亚洲综合色网站 | 99国产精品 | 欧美极品在线播放 | 天天操综合| 日韩手机视频 | 人人舔人人舔 | 五月天久久久久 | 99精品一区二区三区 | 麻豆视频免费在线观看 | 欧美另类sm图片 | 在线观看免费版高清版 | 一区中文字幕在线观看 | 精品久久久久一区二区国产 | 亚洲午夜久久久久久久久 | 精品久久久久久久久亚洲 | 在线观看视频黄 | 91女人18片女毛片60分钟 | 成人四虎 | a黄在线观看 | 亚洲国产三级在线 | 97超碰在线播放 | 麻豆国产精品永久免费视频 | 国产小视频在线播放 | 天天鲁天天干天天射 | 久久久久久视频 | 国产亚洲精品美女 | 亚洲麻豆精品 | 日本精品久久久久中文字幕5 | 国产综合久久 | 天天干夜夜夜 | 久久午夜国产精品 | 在线 精品 国产 | 亚洲电影自拍 | 97超碰人人看 | 狠狠操夜夜操 | 国产精品自产拍在线观看桃花 | 久久国产精品第一页 | 最近日本韩国中文字幕 | 日韩国产欧美视频 | 亚洲三级黄 | 91精品久久久久久久99蜜桃 | 午夜体验区 | 亚洲午夜精品一区二区三区电影院 | 丁香久久 | 亚洲欧美日韩在线看 | 久久免费看毛片 | 日本电影黄色 | 中文字幕在线观看免费高清完整版 | 欧美性生活免费 | 久热电影 | 深爱激情站 | 在线视频日韩欧美 | 成人一级 | 久久不卡国产精品一区二区 | 国产三级午夜理伦三级 | 日韩一区二区三区免费视频 | 免费国产一区二区视频 | 丁香高清视频在线看看 | 久久成人国产 | 成人免费观看视频大全 | 91精品久久久久久综合乱菊 | 久久国产精品99国产 | 激情网第四色 | 精品高清美女精品国产区 | 国语精品久久 | 国产精品黄色 | 五月婷婷综 | 亚洲国产高清视频 | 国产成人精品一二三区 | 久久99久国产精品黄毛片入口 | 日韩av电影手机在线观看 | 六月丁香婷婷在线 | 国产精品ⅴa有声小说 | 日本中出在线观看 | 91在线www | 日韩午夜精品 | 国产美女视频 | 伊人av综合 | 天天天射 | 欧美一级激情 | 黄色毛片网站在线观看 | 99久久久久久久 | 久久噜噜少妇网站 | 国产一级片播放 | 天天射天天干天天操 | 五月激情丁香婷婷 | www.av在线播放 | 午夜精品久久久久久99热明星 | 亚洲成人av在线播放 | 九九久久成人 | 国产精品原创av片国产免费 | 日韩电影在线视频 | 欧美日韩中文字幕综合视频 | 国产成人福利在线观看 | 天堂av官网 | 亚欧日韩成人h片 | 天天操天天操天天操 | 操操操综合 | 日韩午夜视频在线观看 | 伊人看片 | 黄色福利网站 | 色视频在线观看 | 在线看毛片网站 | 一区免费在线 | 在线观看亚洲电影 | 69热国产视频 | 日韩首页| 亚洲欧美日韩在线看 | 日本精a在线观看 | 久操免费视频 | 亚洲 中文字幕av | 精品美女国产在线 | 久草电影免费在线观看 | 成人黄色免费在线观看 | 91插插视频 | 久久福利电影 | 992tv在线观看网站 | 国产一区在线精品 | 成人小视频在线观看免费 | 国产精品久久av | 91精品成人| 婷婷午夜天 | 国产免费中文字幕 | 成人黄色小说在线观看 | 97精品一区二区三区 | 国产精品免费一区二区 | 久久999精品| www.日本色 | 日韩黄色在线 | 国产午夜精品一区二区三区 | av成人黄色 | 日韩偷拍精品 | 中文字幕在线观看的网站 | 天天插综合 | 黄色成人在线观看 | 一本到视频在线观看 | 正在播放一区 | 成人三级av | 91高清免费看 | www.天天操 | 国偷自产中文字幕亚洲手机在线 | av在线等| 国产又粗又猛又色又黄网站 | 亚洲视频久久久久 | 亚洲成av人片在线观看香蕉 | 国产成人久久精品77777综合 | www日韩| 国产精品男女 | 91在线最新 | 少妇高潮冒白浆 | 亚洲成人精品在线 | 麻豆免费在线播放 | 韩国三级一区 | 日韩女同一区二区三区在线观看 | 免费进去里的视频 | 夜色.com| 99热精品国产| 日韩一级成人av | 一区二区三区国产精品 | 人人插人人干 | 日韩在线免费高清视频 | 欧美 日韩 成人 | 美女精品国产 | 操天天操 | 日日夜夜干 | 精品一区91 | 在线成人欧美 | 国产精品专区h在线观看 | 免费色黄 | 国产品久精国精产拍 | 国产精品专区在线 | 国际精品久久 | 亚洲国产三级在线 | 国产高清视频网 | 成人作爱视频 | 在线免费性生活片 | av不卡免费看 | 色a网| 日本精品va在线观看 | 中文字幕在线视频国产 | wwwwww色| 成人h视频在线播放 | 日韩亚洲在线观看 | 午夜男人影院 | 国产亚洲欧美一区 | 青青久草在线视频 | 一区二区伦理 | 99热在线精品观看 | 国产剧情在线一区 | 在线观看网站黄 | 久久国产精品影视 | 91丨九色丨蝌蚪丨老版 | 亚洲首页 | 国产操在线 | 欧美日韩1区 | 久久国产高清 | 草莓视频在线观看免费观看 | 午夜美女wwww | 2022国产精品视频 | 日韩欧美区 | 亚洲一区美女视频在线观看免费 | 国产精品成人一区二区 | 五月婷婷在线视频观看 | 99这里只有久久精品视频 | 国内精品福利视频 | 91黄在线看| 国产一级在线视频 | av直接看 | 99成人在线视频 | 亚洲丁香久久久 | 久久五月婷婷丁香社区 | 国产91学生粉嫩喷水 | 国产91精品久久久久久 | 免费看片网址 | 91激情| 免费视频国产 | 蜜臀av性久久久久av蜜臀三区 | 中文字幕色站 | 国产精品激情偷乱一区二区∴ | 激情动态 | 香蕉网在线播放 | 免费午夜在线视频 | 天天综合区 | 怡红院av久久久久久久 | 成人黄性视频 | 精品a视频 | 96香蕉视频 | 成人a毛片| 国产一区二区综合 | 日韩欧美国产成人 | 久久综合五月 |