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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

动态规划复习

發布時間:2025/3/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态规划复习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發現一個整理dp基礎方程整理得挺好的博客:http://www.cnblogs.com/keshuqi/p/7715167.html

發現一個總結多叉樹樹形背包常見建模方法的博客:http://blog.csdn.net/no1_terminator/article/details/77824790

?

最近除了模擬賽和往年noip題自我測試,就只能搞點弱項專題訓練了。

都是洛谷上的題,每次從水題開始:

?

便宜的回文:

區間dp,對于一個字母,增刪其實效果是相同的,取代價最小的即可。

//Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=3000+10; int n,m,val[maxn],dp[maxn][maxn]; char c,s[maxn];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {m=read();n=read(); int x,y;scanf("%s",s+1);for(int i=1;i<=m;++i) {do c=getchar();while(c<'a'||c>'z');x=c-'a'+1; y=min(read(),read());val[x]=y;}memset(dp,0x3f3f3f3f,sizeof(dp));for(int i=1;i<=n;++i) dp[i][i]=0;for(int i=1;i<n;++i) if(s[i]==s[i+1]) dp[i][i+1]=0;for(int l=1;l<n;++l) {for(int i=1;i<=n-l;++i) {int j=i+l;if(s[i]==s[j]&&l>1) dp[i][j]=min(dp[i][j],dp[i+1][j-1]);dp[i][j]=min(dp[i][j],dp[i+1][j]+val[s[i]-'a'+1]);dp[i][j]=min(dp[i][j],dp[i][j-1]+val[s[j]-'a'+1]);}}printf("%d",dp[1][n]);return 0; }

  

?道路游戲:

這是一道其實只有普及+/提高-的題,因為三方可過。

三方的代碼:

int get_sum(int r,int pos,int t) {
  pos=(pos-r-1+n*m)%n+1;
  return sum[pos][r+t]-sum[pos][r];
}

int main() {
  n=read();m=read();p=read();
  for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) tu[i][j]=read();
  for(int i=1;i<=n;++i) cost[i]=read();
  for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) sum[i][j]=sum[i][j-1]+tu[(i+j-2)%n+1][j];
  for(int i=1;i<=m;++i) dp[i]=-INF;
  for(int i=0;i<m;++i) for(int j=1;j<=n;++j)
    for(int k=1;k<=p&&k+i<=m;++k) dp[i+k]=max(dp[i+k],dp[i]+get_sum(i,j,k)-cost[j]);
  printf("%d",dp[m]);
  return 0;
}

肯定是平方的解決方式要好一點啊,此題用三方做有什么意義呢?但是我太菜不會平方啊。。。

?

奶牛浴場:

這道題似乎哪里見過。似乎是做過的?

一看那個n是可以平方的,l、w是不行的,那肯定是n平方的嘍。

情況比較多,需要都考慮到,但是數據比較水我也沒有辦法。

借用洛谷上?I_AM_HelloWord?的題解(侵刪):

先枚舉極大子矩形的左邊界,然后從左到右依次掃描每一個障礙點,并不斷修改可行的上下邊界,從而枚舉出所有以這個定點為左邊界的極大子矩形。考慮如圖2中的三個點,現在我們要確定所有以1號點為左邊界的極大矩形。先將1號點右邊的點按橫坐標排序。然后按從左到右的順序依次掃描1號點右邊的點,同時記錄下當前的可行的上下邊界。

開始時令當前的上下邊界分別為整個矩形的上下邊界。然后開始掃描。第一次遇到2號點,以2號點作為右邊界,結合當前的上下邊界,就得到一個極大子矩形(如圖3)。

同時,由于所求矩形不能包含2號點,且2號點在1號點的下方,所以需要修改當前的下邊界,即以2號點的縱坐標作為新的下邊界。第二次遇到3號點,這時以3號點的橫坐標作為右邊界又可以得到一個滿足性質1的矩形(如圖4)。

類似的,需要相應地修改上邊界。以此類推,如果這個點是在當前點(確定左邊界的點)上方,則修改上邊界;如果在下方,則修改下邊界;如果處在同一行,則可中止搜索(因為后面的矩形面積都是0了)。由于已經在障礙點集合中增加了整個矩形右上角和右下角的兩個點,所以不會遺漏右邊界與整個矩形的右邊重合的極大子矩形(如圖5)。

需要注意的是,如果掃描到的點不在當前的上下邊界內,那么就不需要對這個點進行處理。

這樣做是否將所有的極大子矩形都枚舉過了呢?

可以發現,這樣做只考慮到了左邊界覆蓋一個點的矩形,因此我們還需要枚舉左邊界與整個矩形的左邊界重合的情況。這還可以分為兩類情況。一種是左邊界與整個舉行的左邊界重合,而右邊界覆蓋了一個障礙點的情況,對于這種情況,可以用類似的方法從右到左掃描每一個點作為右邊界的情況。

另一種是左右邊界均與整個矩形的左右邊界重合的情況,對于這類情況我們可以在預處理中完成:先將所有點按縱坐標排序,然后可以得到以相鄰兩個點的縱坐標為上下邊界,左右邊界與整個矩形的左右邊界重合的矩形,顯然這樣的矩形也是極大子矩形,因此也需要被枚舉到。

//Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=5000+10; int l,w,n,ans;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }struct Node{int x,y; }node[maxn];bool cmp(const Node& a,const Node& b) {return a.x < b.x; }bool cmp2(const Node& a,const Node& b) {return a.y < b.y; }int main() {l=read();w=read();n=read();for(int i=1;i<=n;++i) {node[i].x=read();node[i].y=read(); }node[++n].x=0;node[n].y=0;node[++n].x=l;node[n].y=0;node[++n].x=0;node[n].y=w;node[++n].x=l;node[n].y=w;sort(node+1,node+n+1,cmp);int xx,yy;for(int i=1;i<=n;++i) {xx=0;yy=w; if(i!=1) ans=max(ans,(node[i].x-node[i-1].x)*w);for(int j=i+1;j<=n;++j) {ans=max(ans,(node[j].x-node[i].x)*(yy-xx));if(node[j].y<=xx||node[j].y>=yy) continue;if(node[j].y<node[i].y) xx=node[j].y;else if(node[j].y>node[i].y) yy=node[j].y;else break;}xx=0;yy=w;for(int j=i-1;j;--j) {ans=max(ans,(node[i].x-node[j].x*(yy-xx)));if(node[j].y<=xx||node[j].y>=yy) continue;if(node[j].y<node[i].y) xx=node[j].y;else if(node[j].y>node[i].y) yy=node[j].y;else break;}}sort(node+1,node+n+1,cmp2);for(int i=1;i<n;++i) ans=max(ans,(node[i+1].y-node[i].y)*l);printf("%d",ans);return 0; }

  

翻轉棋:

為什么感覺都做過呢,套路啊。。。

我們知道,一個格子要么翻一次要么不翻,我們發現如果第一行的格子翻或不翻的狀態定了,那么所有格子的狀態就定了。

由于n、m只有15,我們就直接枚舉第一行格子的狀態然后直接算出后面格子的狀態。

//Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=15+2,maxs=1<<15|2,INF=1e7; int n,m,now,nowans,ans=INF,ff[maxn]; bool ok,ykk; bool tu[maxn][maxn],num[maxn][maxn];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }void get_num(int p) {nowans=0;for(int i=m;i;--i) {nowans+=(num[1][i]=(p&1));p>>=1;} }int get_now(int x,int y) {int rs=tu[x][y]^num[x][y];if(x>1) rs^=num[x-1][y];if(x<n) rs^=num[x+1][y];if(y>1) rs^=num[x][y-1];if(y<m) rs^=num[x][y+1];return rs; }void print_ans() {memset(ff,0,sizeof(ff));for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) if(num[i][j]) ff[i]|=(1<<j-1);ans=nowans; }int main() {n=read(); m=read();for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) tu[i][j]=read();for(int p=0;p<(1<<m);++p) {memset(num,0,sizeof(num)); get_num(p); ok=0;for(int i=2;i<=n&&nowans<ans;++i) for(int j=1;j<=m;++j) {now=get_now(i-1,j);if(now) nowans+=(num[i][j]=1);}for(int i=1;i<=m;++i) if(get_now(n,i)) {ok=1; break;}if(!ok&&nowans<ans) print_ans();}if(ans==INF) printf("IMPOSSIBLE\n");else {for(int i=1;i<=n;++i) {for(int j=1;j<=m;++j) {printf("%d ",ff[i]&1);ff[i]>>=1;}printf("\n");}}return 0; }

  

多人背包:

求前k優解的和。

剛開始看到這個題的時候覺得非常不可做。

然后就想了一會(反正腦子也不清醒也想不到什么)就看題解了,然后題解說歸并排序,秒懂。

假如dp[i][j][t]表示目前取到第i件物品,消耗體積j,的第t優解。

那么它一定由dp[i-1][j]、dp[i-1][j-v[i]]轉移過來,直接把這兩個里面前k個最優的歸并弄出來就可以了。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxv=5000+10,maxk=50+5,maxn=200+10,INF=1e8; int k,v,n,f[maxv][maxk],g[maxv][maxk],p[maxn],w[maxn],ans;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {k=read();v=read();n=read();for(int i=1;i<=n;++i) {p[i]=read();w[i]=read();}for(int i=0;i<=v;++i) for(int t=1;t<=k;++t) g[i][t]=-INF;g[0][1]=0;for(int i=1;i<=n;++i) {for(int j=0;j<=v;++j) {if(j<p[i]) for(int t=1;t<=k;++t) f[j][t]=g[j][t];else {int pos1=1,pos2=1;for(int t=1;t<=k;++t) {if(pos2>k||(pos1<=k&&g[j][pos1]>=g[j-p[i]][pos2]+w[i])) f[j][t]=g[j][pos1++];else f[j][t]=g[j-p[i]][pos2++]+w[i];}}}memcpy(g,f,sizeof(f));memset(f,0,sizeof(f));}for(int i=1;i<=k;++i) ans+=g[v][i];printf("%d",ans);return 0; }

  

二叉蘋果樹:

一道樹dp裸題,但是一直沒有過,弄了很久發現是一個地方z寫成了y。

//Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=100+10,INF=1e6; int n,m,dp[maxn][maxn],sum;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int fir[maxn],to[2*maxn],nxt[2*maxn],e=0,v[2*maxn]; void add(int x,int y,int z) {to[++e]=y;nxt[e]=fir[x];fir[x]=e;v[e]=z;to[++e]=x;nxt[e]=fir[y];fir[y]=e;v[e]=z; }int g[maxn],size[maxn],tot[maxn]; void dfs(int pos,int f) {int y,z; size[pos]=1;dp[pos][0]=0;for(y=fir[pos];y;y=nxt[y]) {if(f==(z=to[y])) continue;g[z]=v[y]; dfs(z,pos); size[pos]+=size[z]; g[pos]+=g[z];for(int i=m;~i;--i) {for(int j=0;j<=min(i,size[z]-1);++j) dp[pos][i]=min(dp[pos][i],dp[z][j]+dp[pos][i-j]);if(i>=size[z]) dp[pos][i]=min(dp[pos][i],dp[pos][i-size[z]]+g[z]);}} }int main() {n=read();m=n-1-read();int x,y,z;memset(dp,0x3f3f3f3f,sizeof(dp));for(int i=1;i<n;++i) {x=read();y=read();z=read();sum+=z; add(x,y,z);}dfs(1,0);printf("%d",sum-dp[1][m]);return 0; }

  

硬幣的游戲A Coin Game:

這道題讓我想起了一道題,但是記不到那道題具體是什么了,只記得當時沒有看懂題目,主要是沒有理解兩個人都足夠聰明是什么意思。

感覺這道題這句話是一樣的道理:兩個玩家都希望拿到最多錢數的硬幣。

希望是希望,不一定能成功,但是題目的意思就是兩個人都是最優策略。

A希望取價值和最大,相當于他想讓B取價值和最小,但是在A取后B一定會使用最優策略,所以A要使B最優策略最劣。

然后就只能倒著做了。dp[i][j]表示取第i個的人在這一次取j個硬幣可以得到的最大價值,為了簡化轉移,我們dp表示一個前綴最大價值來搞:

dp[i][j]=max(dp[i][j-1],w[i]-dp[i+j][min(n-i-j+1,2*j)]);

//Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=2000+10; int n,w[maxn],dp[maxn][maxn];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {n=read();for(int i=1;i<=n;++i) w[i]=read();for(int i=n;i;--i) w[i]+=w[i+1];for(int i=n;i;--i) for(int j=1;j<=n-i+1;++j) dp[i][j]=max(dp[i][j-1],w[i]-dp[i+j][min(n-i-j+1,2*j)]);printf("%d",dp[1][2]);return 0; }

?

牛的詞匯The Cow Lexicon:

水題一道,先把每一段可以匹配的最大值預處理出來,然后dp,注意細節問題。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=600+10; int n,m,len[maxn],mch[maxn][maxn],dp[maxn],debug; char s[maxn],c[maxn][30];int main() {scanf("%d%d",&n,&m);scanf("%s",s+1); for(int i=1;i<=n;++i) {scanf("%s",c[i]+1);len[i]=strlen(c[i]+1);}int x,y;for(int i=1;i<=m;++i) {for(int j=1;j<=n;++j) {if(len[j]>m-i+1) continue;x=i;y=1;while(y<=len[j]&&x<=m) {while(x<=m&&s[x]!=c[j][y]) x++;if(x<=m&&s[x]==c[j][y]) y++,x++;}if(y>len[j]) mch[i][x-1]=max(mch[i][x-1],len[j]);}}for(int l=1;l<m;++l) for(int i=1;i<=m-l;++i) {mch[i][i+l]=max(mch[i][i+l],mch[i][i+l-1]);mch[i][i+l]=max(mch[i][i+l],mch[i+1][i+l]);}for(int i=1;i<=m;++i) {dp[i]=max(dp[i],dp[i-1]);for(int j=0;j<i;++j) dp[i]=max(dp[i],dp[j]+mch[j+1][i]);}printf("%d",m-dp[m]);return 0; }

  

化工廠裝箱員:

這個題很有趣啊,感覺題目描述簡直有毒,看懂題了之后dp比較裸,不要管我惡意壓縮代碼。使手中保持10個成品讓dp非常簡單暴力。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=100+10,maxt=13,maxs=13*13*13; int n,dp[maxn][maxs],sum[maxn][4],mi[5]; char cc;void get_dp(int f,int i,int x,int y,int z) {int t=x+y*mi[1]+z*mi[2];dp[i][t]=min(dp[i][t],f+1); }int main() {scanf("%d",&n); int x,y,z,now;for(int i=1;i<=n;++i) {do cc=getchar();while(cc<'A'||cc>'C');x=cc-'A';for(int p=0;p<3;++p) sum[i][p]=sum[i-1][p];sum[i][x]++;}if(n<=10) {printf("%d",(sum[n][0]!=0)+(sum[n][1]!=0)+(sum[n][2]!=0));return 0;}mi[0]=1; for(int i=1;i<=3;++i) mi[i]=mi[i-1]*11;memset(dp,0x3f3f3f3f,sizeof(dp)); x=0;for(int i=0;i<3;++i) x+=mi[i]*sum[10][i];dp[10][x]=0;for(int i=10;i<=n;++i) for(int j=0;j<mi[3];++j) if(dp[i][j]<=n){x=j%mi[1]; y=j/mi[1]%mi[1]; z=j/mi[2];if(i==n) {now=(x!=0)+(y!=0)+(z!=0);dp[n][0]=min(dp[n][0],dp[n][j]+now);continue;}if(x) now=min(n,i+x),get_dp(dp[i][j],now,sum[now][0]-sum[i][0],y+sum[now][1]-sum[i][1],z+sum[now][2]-sum[i][2]);if(y) now=min(n,i+y),get_dp(dp[i][j],now,x+sum[now][0]-sum[i][0],sum[now][1]-sum[i][1],z+sum[now][2]-sum[i][2]);if(z) now=min(n,i+z),get_dp(dp[i][j],now,x+sum[now][0]-sum[i][0],y+sum[now][1]-sum[i][1],sum[now][2]-sum[i][2]);}printf("%d",dp[n][0]);return 0; }

  

TA-Station:

又是一個裸的樹dp。不知道大家是怎么選難度等級的。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll long long const int maxn=1e6+10; int n; ll ans,nowans=1;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int fir[maxn],to[2*maxn],nxt[2*maxn],e=0; void add(int x,int y) {to[++e]=y;nxt[e]=fir[x];fir[x]=e;to[++e]=x;nxt[e]=fir[y];fir[y]=e; }ll dep[maxn],size[maxn],fa[maxn]; void dfs(int pos,int d) {dep[pos]=d; size[pos]=1; ans+=d; int y,z;for(y=fir[pos];y;y=nxt[y]) {if((z=to[y])==fa[pos]) continue;fa[z]=pos; dfs(z,d+1); size[pos]+=size[z];} }void dfs2(int pos,ll now,ll tot) {int y,z;if(now>ans||(now==ans&&nowans>pos)) ans=now,nowans=pos;for(y=fir[pos];y;y=nxt[y]) {if((z=to[y])==fa[pos]) continue;dfs2(z,now+tot+size[pos]-2*size[z],tot+size[pos]-size[z]);} }int main() {n=read(); int x,y;for(int i=1;i<n;++i) {x=read(); y=read();add(x,y);}dfs(1,1); dfs2(1,ans,0);printf("%lld",nowans);return 0; }

  

打鼴鼠:

還是不懂這道題哪里算得上提高+/省選-難度了。

首先我們不可能直接在n*n的網格圖上跑,只能用鼴鼠來dp。

然后考了一個小優化就是當兩個鼴鼠的time差>=2*n-2的時候無論怎樣都是可以轉移的。把鼴鼠按照time排序后就直接維護一個之前的鼴鼠與現在鼴鼠time差>=2*n-2的所有鼴鼠的dp最大值。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=1e4+10; int l,n,dp[maxn],time[maxn],x[maxn],y[maxn],ans,now;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {l=read(); n=read(); int pos=1;for(int i=1;i<=n;++i) {time[i]=read();x[i]=read(); y[i]=read();while(pos<i&&time[i]-time[pos]>=2*n-2) now=max(now,dp[pos++]); dp[i]=max(dp[i],now);for(int j=i-1;j>=pos;--j) if(abs(x[i]-x[j])+abs(y[i]-y[j])<=time[i]-time[j]) dp[i]=max(dp[i],dp[j]);dp[i]++;ans=max(ans,dp[i]);}printf("%d",ans);return 0; }

  

百日旅行:

又不小心開了一道水題,可以直接貪心水過。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll long long const int maxn=2e5+10; const ll INF=1e17; ll n,p,q,ans=INF;ll trav(ll day,ll times) {ll x=day/times,y=day%times;return p*(times-y)*x*x+p*y*(x+1)*(x+1); }int main() {scanf("%lld%lld%lld",&n,&p,&q);for(int i=0;i<=n;++i) ans=min(ans,i*q+trav(n-i,i+1));printf("%lld",ans);return 0; }

  

跳舞:

我覺得我不能再刷水題了。。。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=5000+10,INF=1e8; int n,T,s[maxn],b[maxn],dp[maxn][maxn],ans;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {n=read(); T=read();for(int i=1;i<=n;++i) s[i]=read();for(int i=1;i<=n;++i) b[i]=read();for(int i=0;i<=n;++i) for(int j=0;j<T;++j) dp[i][j]=-INF;dp[0][0]=0; int x;for(int i=0;i<n;++i) for(int j=0;j<T;++j)if(dp[i][j]>-INF) {x=(j+1)%T;dp[i+1][j]=max(dp[i+1][j],dp[i][j]-s[i+1]);if(x) dp[i+1][x]=max(dp[i+1][x],dp[i][j]+s[i+1]);else dp[i+1][x]=max(dp[i+1][x],dp[i][j]+s[i+1]+b[i+1]);}for(int i=0;i<T;++i) ans=max(ans,dp[n][i]);printf("%d",ans);return 0; }

  

豪華游輪:

貪心,考慮把向前走的和向后走的分別合并,然后讓中間角度盡可能接近180,剩下角度最后轉。

忘記了什么是余弦定理,忘記了角度和弧度怎么轉換,特別難過。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define db double const int maxn=50,maxh=1e6+10; const db pi=acos(-1); int n,t; db dis1,dis2,rnd[maxn],ans; char s[22]; bool vis[400],g[400];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {n=read();for(int i=1;i<=n;++i) {scanf("%s",s);if(s[0]=='r') rnd[++t]=read()%360;else if(s[0]=='l') rnd[++t]=(720-read())%360;else if(s[0]=='f') dis1+=read();else if(s[0]=='b') dis2+=read();}vis[0]=1;for(int i=1;i<=t;++i) {memcpy(g,vis,sizeof(g));for(int j=0;j<360;++j) if(g[j]) vis[(int)(j+rnd[i])%360]=1;}for(int i=0;i<=180;++i) if(vis[180+i]||vis[180-i]) {ans=sqrt(dis1*dis1+dis2*dis2-2*dis1*dis2*cos((double)(180-i)*pi/180));break;}printf("%.6lf",ans);return 0; }

  

前綴單詞:

我說我在后面開幾道不是水題的題做,然后就看到這道通過三十多的題,我覺得應該是那種有點難度但是不至于太難的題,但是沒想到還是水題,樹dp水題,直接建字典樹。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll unsigned long long const int maxn=50+5,maxs=maxn*maxn; int n,son[maxs][30],p[maxs],t; char s[maxn]; ll dp[maxn];void add_s(int pos) {int len=strlen(s+1),now=0,x;for(int i=1;i<=len;++i) {x=s[i]-'a';if(!son[now][x]) son[now][x]=++t;now=son[now][x];}p[now]=pos; }int fir[maxs],to[maxs],nxt[maxs],e=0; void add(int x,int y) {to[++e]=y;nxt[e]=fir[x];fir[x]=e; }void dfs1(int pos,int now) {if(p[pos]) add(now,++t),now=t;for(int i=0;i<26;++i) if(son[pos][i]) dfs1(son[pos][i],now); }void dfs2(int pos) {dp[pos]=1; int y,z;for(y=fir[pos];y;y=nxt[y]) {dfs2(z=to[y]);dp[pos]*=dp[z];}dp[pos]++; }int main() {scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%s",s+1),add_s(i);t=0;dfs1(0,0); dfs2(0);printf("%lld",dp[0]-1);return 0; }

  

起床困難綜合癥:

NOI還有水題的啊。。。。

直接算每一位如果是0最后會是什么,如果是1最后會是什么,然后直接數位dp就可以了。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; const int maxn=1e5+10,maxs=35; int n,m,now[2][maxs],dp[maxs],ans; char c[10];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }void get_now(int &f,int p,int x) {if(p==1) f=f&x;else if(p==2) f=f|x;else f=f^x; }int main() {n=read(); m=read(); int x,y;for(int i=0;i<=32;++i) now[0][i]=0,now[1][i]=1;for(int i=1;i<=n;++i) {scanf("%s",c);y=read();x= c[0]=='A'? 1 : (c[0]=='O'? 2:3);for(int j=0;j<=32;++j) {get_now(now[0][j],x,y&1);get_now(now[1][j],x,y&1);y>>=1;}}for(int i=0;i<=32;++i) {dp[i]=dp[i-1];dp[i]|=max(now[0][i],now[1][i])<<i;}x=0;for(int i=32;~i;--i) {if((y=((m>>i)&1))) ans=max(ans,(x|((now[0][i])<<i))|dp[i-1]);x|=((now[y][i])<<i);}ans=max(ans,x);printf("%d",ans);return 0; }

  

子串:

不是很難,用f[i][j][t][r]表示當前我們A串匹配到了i位置,B串匹配到了j位置,并且一共取了t個子串,目前是否為最后取的子串的最后一位的狀態。

第一維滾動,直接dp。注意細節問題。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll long long const int maxn=1000+10,maxm=200+10; const ll mod=1e9+7; int n,m,k; char a[maxn],b[maxn]; ll f[2][maxm][maxm][2];int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int main() {n=read();m=read();k=read();scanf("%s%s",a+1,b+1);int cur=0; f[0][0][1][1]=1;for(int i=1;i<=n;++i) {cur^=1;memset(f[cur],0,sizeof(f[cur]));for(int j=1;j<=m;++j) for(int t=1;t<=min(j,k);++t) {if(a[i]==b[j]) (f[cur][j][t][1]+=f[cur^1][j-1][t][1]+f[cur^1][j-1][t-1][0]+f[cur^1][j-1][t-1][1])%=mod;(f[cur][j][t][0]+=f[cur^1][j][t][0]+f[cur^1][j][t][1])%=mod;}f[cur][0][1][1]=1;}printf("%lld",(f[cur][m][k][0]+f[cur][m][k][1])%mod);return 0; }

  

樹:

這道題說簡單吧,但是要寫高精,說難吧,其實dp方程和轉移也沒多難。

用 $ dp[pos][i] $ 表示以 $ pos $ 為根的子樹中, $ pos $ 所在連通塊大小為i的最大答案(不乘i)。

然后$ dp[pos][0]= \max ( dp[pos][i] \times i ) $ 。

kczno1題解中說復雜度看起來像三方的實際上是平方的:

每次轉移是復雜度是 x之前的子樹的sz*當前子樹的sz

相當于之前子樹所有點和當前子樹的點組成的點對數

而每個點對只會在lca處被計算一次

所以復雜度O(n^2)

這樣轉移好處是可以沒有除法。

我一開始沒寫高精交上去發現WA了一堆,我把long long 改成 unsigned long long 發現答案變了。

然后就檢查轉移方程檢查了很久,最后棄療去看題解,發現竟然和題解的思路一模一樣,除了他寫了高精。

不想打高精了,放個半成品在這。

#include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll unsigned long long const int maxn=700+10; int n;int aa;char cc; int read() {aa=0;cc=getchar();while(cc<'0'||cc>'9') cc=getchar();while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();return aa; }int fir[maxn],to[2*maxn],nxt[2*maxn],e=0; void add(int x,int y) {to[++e]=y;nxt[e]=fir[x];fir[x]=e;to[++e]=x;nxt[e]=fir[y];fir[y]=e; }ll size[maxn],dp[maxn][maxn]; void dfs(int pos,int f) {int y,z;size[pos]=1;for(y=fir[pos];y;y=nxt[y]) {if((z=to[y])==f) continue;dfs(z,pos);size[pos]+=size[z];}dp[pos][1]=1; ll t;for(y=fir[pos];y;y=nxt[y]) {if((z=to[y])==f) continue;for(int i=size[pos];i;--i) {t=dp[pos][i]*dp[z][0];for(int j=min(i-1,(int)size[z]);j;--j)dp[pos][i]=max(dp[pos][i],dp[pos][i-j]*dp[z][j]);dp[pos][i]=max(dp[pos][i],t);}}for(int i=1;i<=size[pos];++i) dp[pos][0]=max(dp[pos][0],dp[pos][i]*i); }int main() {n=read(); int x,y;for(int i=1;i<n;++i) {x=read(); y=read();add(x,y);}dfs(1,0);cout<<dp[1][0];return 0; }

  

轉載于:https://www.cnblogs.com/Serene-shixinyi/p/7755456.html

總結

以上是生活随笔為你收集整理的动态规划复习的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久婷婷亚洲 | 免费高清在线观看成人 | 日韩影片在线观看 | 色综合久久久久久久 | 亚州天堂| 色国产精品一区在线观看 | 麻豆传媒在线免费看 | 欧美日视频 | 午夜影视一区 | 久久精品美女视频网站 | a视频在线观看 | 久久影院精品 | 麻豆精品91 | 手机在线欧美 | 青春草国产视频 | www.夜夜骑.com | 日本在线视频一区二区三区 | 国产亚洲在线视频 | 国产精品一区二区三区在线播放 | 色全色在线资源网 | 欧美一二区在线 | 在线电影91 | 国产精品丝袜 | 久久免费国产精品 | 伊人黄色网 | 中文在线字幕免 | 麻豆视频免费播放 | 日韩在线首页 | 国产亚洲免费的视频看 | 国产精品美女久久久久久久 | 91大神精品视频在线观看 | 日韩一二三 | 2022久久国产露脸精品国产 | 中文字幕免费在线看 | 亚州精品在线视频 | 国产精品一区二区吃奶在线观看 | 成人超碰97| 国产色视频一区二区三区qq号 | 久久久免费毛片 | 亚洲精品福利在线 | 91porny九色91啦中文 | 久久久国产在线视频 | 国产一级视频在线 | aⅴ视频在线 | 天天操天天插 | 9色在线视频 | 国产亚洲在线 | 成人午夜网 | 在线观看岛国av | 在线观看精品视频 | 欧美精品一区二区免费 | 免费在线91| 中文字幕日本在线 | 国产精品九九久久99视频 | 中文字幕在线观看国产 | 夜夜操天天摸 | 在线看片视频 | www.午夜色.com| 日韩电影中文 | 91九色在线观看视频 | 国产精品自在欧美一区 | 亚州国产精品视频 | 久久丁香 | 国产精品久久久久免费 | 日韩va在线观看 | 亚洲视频免费在线观看 | 一区二区三区四区在线 | 亚洲男男gaygayxxxgv | 丁香国产视频 | 亚洲激情视频在线观看 | 国产区av在线 | 九九精品视频在线观看 | 中文字幕在线久一本久 | 黄色在线视频网址 | 日韩视频免费播放 | 精品人人人 | 深夜免费小视频 | 国产高清视频免费在线观看 | 欧美日韩性视频在线 | 伊人亚洲精品 | 最近中文字幕mv | 日韩免费播放 | 欧美性天天 | 黄色视屏在线免费观看 | 国产精品久久一区二区三区, | 精品在线视频一区 | 成人91在线观看 | 美女黄频在线观看 | 免费三级骚 | 日韩欧美国产激情在线播放 | www视频在线播放 | 欧美超碰在线 | 国产黄色精品 | 玖玖精品在线 | 国产手机在线播放 | 日韩免费网站 | av天天草| 五月婷婷六月丁香在线观看 | 精品成人久久 | 一区二区视 | 日韩美女免费线视频 | 国产免费观看久久黄 | 国产精品乱码高清在线看 | 久草视频资源 | 最近免费中文视频 | www色com| 国产伦精品一区二区三区四区视频 | 亚洲五月婷婷 | 国产网站av | 久久久久久久久久久网站 | 国产一级淫片免费看 | av网在线观看 | 日韩一区二区三区免费视频 | 在线观看播放av | 91福利视频网站 | 亚洲极色| 日本中文字幕在线 | 国产高清免费av | 久久99久久99精品 | 日韩在线视频观看免费 | 操综合 | 99久久精品国产一区二区成人 | 视频在线一区 | 亚洲 欧美 日韩 综合 | 日韩欧美电影网 | 91在线视频播放 | 奇米7777狠狠狠琪琪视频 | 婷婷夜夜 | 国产成人精品免费在线观看 | 国产经典av | 麻豆视频大全 | 国产69精品久久app免费版 | 免费av网址在线观看 | 国产第一二区 | 一区二区三区四区五区在线 | 国产在线精品一区二区 | 久久综合久久综合九色 | www.午夜 | 伊人婷婷综合 | 亚洲国产视频网站 | ww视频在线观看 | www激情com| 久久久国产精品久久久 | 91传媒91久久久 | 超碰在线99| 日本xxxx.com| 国产一区二区在线免费视频 | 97成人在线视频 | 久久tv视频 | 操操操夜夜操 | 在线国产中文 | 麻豆激情电影 | 久久久99精品免费观看乱色 | 国产麻豆电影在线观看 | 97av视频在线 | 亚a在线 | 亚洲女同videos | 国产成人99av超碰超爽 | 99国产精品视频免费观看一公开 | 日日干,天天干 | 狠狠色丁香久久婷婷综合_中 | 久久免费精品视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 精品国产123 | 欧美少妇18p | 国产精品a成v人在线播放 | 丝袜美女在线 | 国产喷水在线 | 成人在线观看资源 | 国产激情电影综合在线看 | 91人人人 | 欧美特一级| 日本高清中文字幕有码在线 | 一级黄色片在线 | 成人蜜桃| 狠狠色伊人亚洲综合网站野外 | 国产在线一区二区 | 久久精品日韩 | 国产亚洲综合性久久久影院 | 午夜精品久久久99热福利 | av3级在线 | 高清一区二区三区av | 久久综合久色欧美综合狠狠 | 天天操天天操天天爽 | av三级av | 亚洲黄色一级电影 | 婷婷av综合 | 欧美污网站| 黄色软件在线观看 | 欧美精品黑人性xxxx | 日韩三区在线 | 久久综合精品一区 | 一区二区三区高清在线 | 日韩在线观看第一页 | 日韩精品一区二区在线 | 久久久午夜视频 | 在线观看av大片 | 成 人 免费 黄 色 视频 | 中文免费观看 | 国产精品视频在线看 | 在线观看中文字幕一区二区 | 中文字幕在线观看免费观看 | 色婷婷国产在线 | 日韩av一区二区三区在线观看 | 久草视频在线新免费 | 国产亚洲精品成人av久久影院 | 黄色三级在线看 | 欧美另类网站 | 欧美日韩免费视频 | 国产精品二区在线 | 国产精品久久久久久久久久久久午夜 | 最新av电影网址 | 国产精品美女视频 | 国产精久久久久久妇女av | 日韩高清成人在线 | 国产r级在线观看 | 精品在线亚洲视频 | 国产日韩欧美在线看 | 国产成本人视频在线观看 | 日韩精选在线观看 | 亚洲精选99| 国产成人一区二区三区免费看 | 日批视频在线 | 欧美精品在线观看免费 | 欧美精品久久久久久久久老牛影院 | 中文字幕在线观看2018 | 一本一本久久a久久精品牛牛影视 | 色激情五月 | 欧美日韩在线视频一区二区 | 二区视频在线观看 | 一区二区三区国产欧美 | 91av观看 | 91在线视频免费91 | 婷婷狠狠操 | 欧美 日韩精品 | 97热久久免费频精品99 | 国产精品99久久免费观看 | 色婷婷在线观看视频 | 亚洲精品国产区 | 99热只有精品在线观看 | 激情网婷婷 | 四虎影视成人精品 | 在线免费高清一区二区三区 | 国产aa精品 | 国产色婷婷精品综合在线手机播放 | 狠狠躁日日躁狂躁夜夜躁 | 欧美日韩国产精品一区二区三区 | 国产一区二区在线观看免费 | 99久久久国产精品美女 | 天天干天天操天天操 | 国产精品免费人成网站 | 99看视频在线观看 | 免费国产一区二区 | av在线不卡观看 | www免费黄色 | 国产日产精品一区二区三区四区 | 国产一区二区高清视频 | 欧美精品色 | 九九在线免费视频 | 蜜臀久久99静品久久久久久 | 伊人永久在线 | 国产69精品久久久久99尤 | 国产在线观看二区 | 91亚洲夫妻 | 色婷婷在线播放 | 欧美一区二区伦理片 | 久久毛片网站 | 三级黄色在线观看 | 99视频99| 四虎国产精品免费 | 精品999在线观看 | a电影免费看 | 欧美一区二区三区激情视频 | 黄色大片日本免费大片 | 国产精品扒开做爽爽的视频 | 久久视讯 | 国产精品久久久久一区二区三区共 | 99视频在线观看免费 | www色综合| 特黄特黄的视频 | av黄色av| 欧美在线观看小视频 | 亚洲夜夜综合 | 综合网婷婷 | 久久久免费毛片 | 婷婷丁香激情网 | 国产福利在线免费 | 一二三精品视频 | 97久久久免费福利网址 | 六月丁香婷婷久久 | 日韩av免费观看网站 | 91福利视频网站 | 日韩视频一区二区三区在线播放免费观看 | 亚洲国内精品在线 | 久久精品牌麻豆国产大山 | 人人爽久久久噜噜噜电影 | 欧美日韩在线观看一区 | 日韩美精品视频 | 免费色视频网站 | 中文字幕日韩av | 国产精品美女久久久久久免费 | 夜夜夜影院 | 在线视频一区二区 | 天天射天天干 | 毛片888| 国产精品久久久久影院 | 国产在线视频一区二区三区 | 天天激情天天干 | www.黄色片网站 | 日本中文字幕在线一区 | 五月天久久婷 | 91爱爱网址 | 日韩视频在线不卡 | 亚洲午夜不卡 | 99色视频在线 | 一级黄色片在线 | 精品视频999 | 久久国产香蕉视频 | 黄色片网站免费 | 日韩黄色软件 | 天天爱天天 | 黄色大片日本免费大片 | 五月开心六月婷婷 | 婷婷在线资源 | 黄色字幕网 | 国产不卡av在线播放 | 国产伦理剧 | 中文字幕免费高清 | 日韩电影一区二区三区在线观看 | 国产精品一区二区久久久 | 国产精品久久久久久久免费观看 | 丁香网五月天 | 欧美精品三级 | 久久草网| 婷婷在线视频观看 | 六月丁香激情网 | 久草在线在线 | 亚洲电影免费 | 成人黄色小视频 | 国产高清在线视频 | 四虎精品成人免费网站 | 在线视频电影 | 国产精品18久久久久白浆 | 亚洲成人免费在线 | 91黄视频在线 | 国产资源在线免费观看 | 色噜噜在线观看视频 | 国产一在线精品一区在线观看 | 97在线视 | 天天操人人干 | 香蕉在线观看视频 | 免费观看的av | 国产在线视频一区二区三区 | 国内三级在线 | 天天操夜夜曰 | 久久久三级视频 | 中文字幕永久在线 | 欧美一级黄色网 | 久久高清免费观看 | 亚洲精品免费在线视频 | 国产又黄又猛又粗 | 国产午夜在线 | 亚洲精品在线免费播放 | 国产精品久久久久久久99 | 国产一区二区在线观看视频 | 色在线观看网站 | 在线播放视频一区 | 久久99久久99精品免视看婷婷 | 一色av | 就要色综合 | 久草在线综合网 | 99久久久久免费精品国产 | 97热视频 | 国产麻豆精品久久一二三 | 超碰在线公开 | 色综合久久88色综合天天6 | 久草免费福利在线观看 | 久久综合五月婷婷 | 成人免费在线电影 | 国产99久久精品 | 一本一本久久a久久精品综合 | 在线观看片 | 97热久久免费频精品99 | 久久综合操 | 久久综合色一综合色88 | 四虎影视成人精品国库在线观看 | 99国产在线视频 | 国产成人精品一区在线 | 国产精品久久艹 | 超碰国产在线播放 | 国产精品久久久久久超碰 | 伊人五月在线 | 欧美va在线观看 | 日日天天| 国产91在线 | 美洲 | www色网站 | 久久69精品久久久久久久电影好 | 亚洲香蕉视频 | 2021av在线| 99热在线国产精品 | 精品国偷自产国产一区 | 国产精品18毛片一区二区 | 99久高清在线观看视频99精品热在线观看视频 | 日韩城人在线 | 日本黄色黄网站 | 伊人狠狠操 | 在线网址你懂得 | 涩涩网站在线看 | 一级c片 | 黄色三级免费网址 | 久久人人看 | 天天艹天天干天天 | 2024国产精品视频 | 深夜免费网站 | 亚洲国产三级在线观看 | 日韩18p| 色婷婷国产精品一区在线观看 | 精品久久美女 | 91最新地址永久入口 | 午夜影院日本 | 男女啪啪免费网站 | 日韩av伦理片 | 国产在线欧美在线 | 久久视频99| 久久久www成人免费精品 | 亚洲成人精品久久久 | 久久综合久久综合这里只有精品 | 2022中文字幕在线观看 | 99久久婷婷 | 西西444www大胆无视频 | 91精品亚洲影视在线观看 | 99综合视频 | 亚洲精品免费视频 | 黄色影院在线免费观看 | 精品一区二区三区久久久 | 亚洲综合视频在线 | 福利在线看片 | 婷婷免费在线视频 | 色com| 深夜免费福利在线 | 欧美精品久久 | 亚洲欧美成人 | 日韩理论片 | 麻豆视频免费在线 | 在线视频日韩一区 | 精品人妖videos欧美人妖 | 99精品视频在线看 | 午夜久久成人 | 日韩在线观看视频中文字幕 | 8x成人免费视频 | 天天艹天天 | 91在线91拍拍在线91 | 天天色天 | 亚洲九九影院 | 亚洲一区二区三区91 | 久久综合九色综合欧美就去吻 | 国内精品久久久久影院优 | 欧美日韩免费在线视频 | 在线观看亚洲国产 | 久久久穴 | 在线视频久 | 爱色婷婷 | 久久久久免费 | 丝袜美腿一区 | 成人h电影在线观看 | 亚洲精品国产精品乱码在线观看 | 色资源在线观看 | 亚洲精品国产自产拍在线观看 | 国产精品一区二区av麻豆 | 国产免费av一区二区三区 | 国外调教视频网站 | 久久精品成人热国产成 | 日韩免费成人av | 草在线 | 精品美女国产在线 | 在线亚洲日本 | 成人资源站 | 麻豆国产精品va在线观看不卡 | 国产视频精品在线 | 国产色拍拍拍拍在线精品 | 国产精品成人一区二区三区吃奶 | 婷婷网站天天婷婷网站 | 国产精品久久久久永久免费观看 | 欧美一区日韩精品 | 国产毛片久久 | 久久夜夜夜 | 色片网站在线观看 | 欧美伊人网 | 日韩欧美综合视频 | 国产成人精品亚洲日本在线观看 | 国产精品久久久久久久久久了 | 久久久99精品免费观看乱色 | 日韩欧美精品一区二区 | 男女视频91| 国产黄色美女 | 欧美激情综合五月色丁香 | www.夜夜夜 | 91豆花在线观看 | www免费网站在线观看 | 一区二区三区高清在线 | 91精品视频免费观看 | 天天碰天天操 | 日韩精品免费在线视频 | 99精品视频免费观看视频 | 国产伦理一区二区三区 | 一区二区电影在线观看 | 欧美激情精品 | 日韩国产精品久久 | 国产日韩高清在线 | 国产亚洲精品久久久久久久久久 | 久久超碰免费 | 亚洲六月丁香色婷婷综合久久 | 国产精品久久片 | 青草视频在线播放 | 久久综合九色综合97婷婷女人 | 日韩精品视频在线观看免费 | 一区二区三区在线视频观看58 | 国产手机av在线 | 久久国产精品视频观看 | 51久久夜色精品国产麻豆 | 国产91综合一区在线观看 | 久久精品久久99 | av资源在线观看 | 黄色毛片网站在线观看 | 日日日日干 | 亚洲在线精品 | 免费网站看av片 | 四虎永久免费网站 | 91视频在线国产 | 夜夜视频欧洲 | 超级碰碰免费视频 | 亚洲午夜精品一区二区三区电影院 | 日韩高清一二区 | 精品久久久久久电影 | 丁香激情视频 | 亚洲激情五月 | 欧美成人xxxxxxxx | 特级a毛片| 黄色国产高清 | 最新av网站在线观看 | 丁香婷婷基地 | 免费在线观看国产黄 | 国产精品不卡在线播放 | 国产成人精品一区二区 | 亚洲一级片免费观看 | 五月婷婷丁香色 | 91豆麻精品91久久久久久 | 玖玖在线视频观看 | 久久久久久久久久久影院 | 天天草天天 | 国产精品毛片一区二区 | 四虎在线观看精品视频 | 成人黄色电影在线 | 特级毛片网站 | 中文字幕二区在线观看 | 久久国产影院 | 国产精品久久久久999 | 久久99国产精品视频 | 中国老女人日b | 狠狠色丁香久久婷婷综合_中 | 91福利社区在线观看 | 精品国产欧美 | 狠狠的干| 日本精品视频网站 | 国产精品久久二区 | 美女视频黄,久久 | 中文字幕视频播放 | 99精品国产一区二区三区不卡 | 日韩欧美国产激情在线播放 | 超碰在线人人草 | 成人cosplay福利网站 | 国产精彩视频一区 | 久久精品99国产精品亚洲最刺激 | 五月激情久久 | 又黄又刺激视频 | 五月婷色 | 日日操网 | av天天澡天天爽天天av | 欧美一区二区精美视频 | 久久免费影院 | 国产伦理一区二区三区 | av在线最新 | 成年一级片 | 国产精品久久久久永久免费观看 | 国产一区二区三区高清播放 | 久久久久久免费视频 | 狠狠狠的干 | 91看片黄色 | 97精品视频在线播放 | 国产精品久久电影网 | 国产97色在线 | 97精品在线观看 | 人人讲下载 | 中文字幕欧美日韩va免费视频 | 国产伦精品一区二区三区无广告 | 五月激情片 | 色在线观看网站 | 国产拍揄自揄精品视频麻豆 | 久久深夜福利免费观看 | 国产伦精品一区二区三区四区视频 | 免费观看国产成人 | 久久试看| 国产成人专区 | 国产精品视频免费观看 | 久久99国产精品自在自在app | 91香蕉视频色版 | 日韩一区二区免费播放 | 超碰97在线看| 欧美精品被 | 国产123av | 国产又粗又猛又黄视频 | 国产精品视频专区 | 国产91精品看黄网站 | 成人午夜片av在线看 | 狠狠的干狠狠的操 | 国产精品视频专区 | 国产成人精品综合久久久久99 | 欧美片网站yy | 久草视频手机在线 | 免费在线观看av网站 | 97色狠狠 | 天天色天天操综合 | 国产97视频 | 国产视频精品视频 | 韩国精品福利一区二区三区 | 国产精品成人aaaaa网站 | 国产在线色视频 | 成人一级片在线观看 | 免费福利片2019潦草影视午夜 | 制服丝袜欧美 | 免费日韩电影 | 欧亚日韩精品一区二区在线 | 成人免费在线网 | 久久亚洲国产精品 | 五月激情站 | 亚洲经典精品 | 国产精品手机看片 | 91在线欧美 | 欧美地下肉体性派对 | 国产一区视频在线 | 欧美少妇影院 | 日本一区二区三区免费观看 | 天天干夜夜干 | 午夜精品久久久久久99热明星 | 久久99久久99精品免费看小说 | 超碰人人超碰 | av成人动漫在线观看 | 日本精a在线观看 | 亚洲国产手机在线 | 美女国产| 久久婷亚洲五月一区天天躁 | 久久久久久久久久久久久久电影 | 久久综合福利 | 亚洲综合一区二区精品导航 | 日韩精品1区2区 | 欧美日韩免费一区二区三区 | 深夜国产福利 | 在线观看韩国av | 久久首页 | 婷婷亚洲综合五月天小说 | 综合五月 | 91亚瑟视频| 天天操综 | 欧美午夜a | 91综合视频在线观看 | 日韩成人黄色av | 夜夜干天天操 | 色久五月 | 久久av一区二区三区亚洲 | 综合影视 | 日本99精品| 麻豆视频www | 青青久草在线视频 | 久久99国产精品自在自在app | 色婷婷久久久综合中文字幕 | 免费看色网站 | 亚洲精品视频偷拍 | 亚洲欧美视频在线播放 | 国产探花在线看 | 伊人婷婷色 | 青青河边草免费直播 | 午夜影院在线观看18 | 欧美日韩综合在线观看 | 欧美日韩在线精品 | 中文网丁香综合网 | 中文字幕在线观看播放 | 久久精品老司机 | 久久久精品欧美一区二区免费 | 成年人三级网站 | 欧美激情视频一区二区三区免费 | 在线色亚洲 | 成人精品国产免费网站 | 香蕉久久久久 | av网站大全免费 | 亚洲视频免费视频 | 青春草视频在线播放 | 成人免费在线播放 | 99精品国产99久久久久久97 | 看国产黄色大片 | 久久国产精品系列 | 国内99视频 | 97精品视频在线 | 国产综合福利在线 | 久久99精品国产99久久 | 欧美精品久久久久久久免费 | 国产精品免费视频久久久 | av不卡中文字幕 | 中文字幕有码在线 | 久久精品国产精品亚洲精品 | 国产黄色在线观看 | 91午夜精品| 亚洲区另类春色综合小说校园片 | 激情综合亚洲精品 | 日韩一二三| 97成人在线观看 | 国产精品久久久久久久av电影 | 亚洲aaa毛片 | www免费视频com━ | 精品免费一区二区三区 | 久久午夜免费视频 | 伊人热 | 一区二区久久 | 麻豆91在线播放 | 午夜av一区| 91黄色小网站 | 久久99婷婷 | 四虎精品成人免费网站 | 91在线视频| va视频在线观看 | 四虎在线免费视频 | 最新超碰 | 日韩在线不卡av | 碰天天操天天 | 97视频免费在线 | 99视频精品视频高清免费 | 久久精品免视看 | 久久久久久高潮国产精品视 | 日本中文字幕在线播放 | 99在线精品观看 | 婷婷色资源 | 五月黄色 | 亚洲视频1区2区 | 在线观看免费一级片 | 久久久久亚洲精品中文字幕 | 中文字幕在线观看免费高清完整版 | 日韩超碰 | 国产青草视频在线观看 | 一区二区三区在线观看 | 一区 在线 影院 | 久久免费电影网 | www黄色软件 | 99久久精品免费看国产免费软件 | 色哟哟国产精品 | 国产黄大片 | 91精品久久香蕉国产线看观看 | 中文在线亚洲 | 成年人天堂com| 国产成人av网 | 中文字幕在线观看资源 | 欧美日韩在线观看一区二区 | 久草在线免费在线观看 | 日韩欧美综合在线视频 | 日韩亚洲在线视频 | 免费三级a | 亚洲成人在线免费 | 久久96国产精品久久99漫画 | 久久久久久视频 | 91视频在线 | 精品欧美乱码久久久久久 | 999视频在线播放 | 亚洲精品玖玖玖av在线看 | 欧美国产日韩一区二区 | av中文字幕日韩 | 日韩在线理论 | 人人添人人澡人人澡人人人爽 | 97电影手机版 | 国产一级二级三级视频 | 97精品久久 | 婷婷日韩| 亚洲三级网站 | 日韩美女av在线 | 91毛片在线| 精品久久在线 | 久久久免费观看 | 视色网站| 日韩理论片在线观看 | 在线播放 一区 | 99爱国产精品 | 久草免费手机视频 | 欧美精品一区二区性色 | 亚州天堂 | h视频在线看 | 欧美日韩国产一区二区三区在线观看 | 91福利视频久久久久 | 久久精品国产一区二区三 | 国产综合片 | 天天射综合 | 日本天天色 | 国产黄色片免费 | 国产99久久精品一区二区300 | 五月的婷婷 | 久久精品免费看 | 国产黄色大片免费看 | 精品伊人久久久 | 亚洲国产美女精品久久久久∴ | 亚洲dvd| av电影 一区二区 | 国产成人免费在线 | 午夜精品一区二区三区免费 | 在线国产能看的 | 国产一二区视频 | 黄色精品免费 | 四虎国产精 | 97麻豆视频| 免费看一级特黄a大片 | 国产高清日韩欧美 | 国产三级精品三级在线观看 | 中文字幕在线字幕中文 | 亚洲免费在线观看视频 | 亚洲九九九在线观看 | 国产免费xvideos视频入口 | 91精品在线播放 | 99久久99久久精品 | 友田真希x88av| 国产99免费| 91精品在线观看视频 | 狠狠色狠狠色综合日日92 | www.久久爱.cn | 久久精品爱爱视频 | 免费在线播放黄色 | 色激情在线 | 国产黄色免费观看 | 99久久精品免费看国产麻豆 | 国产日产精品一区二区三区四区 | 欧美日韩国产在线精品 | 成人在线免费看视频 | 免费av电影网站 | 久久专区 | 国色天香第二季 | 欧美日韩国产一二三区 | 精品在线视频播放 | 天天看天天干 | 国产91学生粉嫩喷水 | 亚洲一级理论片 | 免费精品在线观看 | 国产综合91 | 国产精品久久影院 | 免费在线观看黄网站 | 久久久午夜影院 | 久久国产精品视频观看 | 国产大尺度视频 | 色婷婷成人网 | 嫩嫩影院理论片 | 精品国产电影一区二区 | 亚洲午夜av | 国产一区欧美一区 | 国产中文字幕视频在线观看 | 人人干人人添 | 18性欧美xxxⅹ性满足 | 中文字幕免费不卡视频 | 毛片基地黄久久久久久天堂 | 激情视频网页 | 久久精品女人毛片国产 | 国产色一区 | 婷婷色视频 | 99免费在线| 欧美一区二区在线刺激视频 | 亚洲在线视频播放 | 中文字幕在线免费观看视频 | 中文字幕亚洲五码 | 国产一区二区三区视频在线 | 国产视频在线播放 | av国产网站 | 日韩成人精品一区二区三区 | 免费a网 | 91在线91 | 欧美日韩国产一二三区 | 国产精品高清一区二区三区 | 久久a免费视频 | 999久久久久久久久6666 | 精品乱码一区二区三四区 | 久草视频在 | 欧美另类xxx| 久久久亚洲麻豆日韩精品一区三区 | 成人免费 在线播放 | a在线视频v视频 | 国产精品黄色av | 狠色狠色综合久久 | 国产精品大全 | 亚洲va欧美va | 毛片a级片 | 久久a免费视频 | 国模精品在线 | av网站免费看 | 在线视频国产区 | 日韩一区精品 | 日韩精品一区二区三区三炮视频 | 特级a毛片 | 极品美女被弄高潮视频网站 | 99久久精品免费看国产 | 狠狠躁18三区二区一区ai明星 | 国产又粗又猛又色又黄网站 | 91探花国产综合在线精品 | 97av在线视频 | 国产精品综合久久 | 亚洲一区二区三区精品在线观看 | 亚洲精品福利在线 | 亚洲成av人片一区二区梦乃 | 亚洲欧美怡红院 | 精品久久五月天 | 91福利免费 | 激情久久久久久久久久久久久久久久 | 色999在线 | 久草精品电影 | 欧美日韩免费观看一区=区三区 | 国精产品999国精产品视频 | 亚洲午夜精品久久久久久久久 | 国产精品亚洲片在线播放 | 免费亚洲视频 | 国产亚洲精品久久久久久网站 | 国产精品久久久久久久久毛片 | 日韩免费视频在线观看 | 色国产精品一区在线观看 | 日韩深夜在线观看 | 97成人啪啪网 | 日韩a级黄色 | 中文字幕在线看视频国产 | 久久久免费网站 | 亚洲一级二级 | 国产人成看黄久久久久久久久 | 一区二区三区免费网站 | 国产福利不卡视频 | 日日干夜夜草 | 久久久国产99久久国产一 | 91久久精品一区 | 亚洲在线看 | 中文字幕制服丝袜av久久 | 激情视频在线观看网址 | 国内综合精品午夜久久资源 | 97精品久久人人爽人人爽 | 久久99精品国产一区二区三区 | 韩国av一区| 国产视频在线观看一区二区 | 91av在线视频播放 | 国产精品成人品 | 天天天色综合 | 国产精品白浆 | 91看片在线看片 | 国产高清精品在线 | 中文在线最新版天堂 | 黄色片网站大全 | 91成人观看 | 干 操 插 | 亚洲免费av观看 | a视频免费 | 久久国产露脸精品国产 | 欧美最猛性xxxx | 美女久久精品 | 精品久久福利 | 色干综合| 国产精品手机看片 | 成人黄色毛片视频 | 亚洲国产中文字幕在线 | 日本高清dvd | 久久毛片高清国产 | 日韩理论在线播放 | 亚洲欧美综合精品久久成人 | 亚洲精品在线免费看 | 国产一级做a爱片久久毛片a | 日日日操操 | 久久免费精品视频 | 日日夜夜狠狠干 | 亚洲精品一区二区在线观看 | 天天综合网在线 | 免费色网 | 激情文学综合丁香 | 国产理论片在线观看 | 国产在线不卡精品 | 亚洲精品视频在线免费播放 | 91视频久久久久 | 午夜视频不卡 | 亚洲成人黄色网址 | 亚洲 中文 欧美 日韩vr 在线 | 欧美精品天堂 | 亚洲精品在线一区二区三区 | 久久99久久99 | 国产91精品高清一区二区三区 | 国产98色在线 | 日韩 | 高清av免费看 | 日韩久久一区 | 亚洲国产精品久久久久 | 亚洲欧美国产精品va在线观看 | 日韩色在线 | 玖玖爱在线观看 | 在线观看国产一区二区 | 日本xxxxav | 在线免费中文字幕 | 日本精品一区二区在线观看 |