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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

dd大牛的背包九讲 pdf下载_「背包问题九讲」dd大牛的背包九讲-背包问题汇总 - seo实验室...

發布時間:2024/8/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dd大牛的背包九讲 pdf下载_「背包问题九讲」dd大牛的背包九讲-背包问题汇总 - seo实验室... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背包問題九講

背包九講

目錄

第二講 完全背包問題

第三講 多重背包問題

第四講 混合三種背包問題

第五講 二維費用的背包問題

第六講 分組的背包問題

第七講 有依賴的背包問題

第八講 泛化物品

第九講 背包問題問法的變化

附:USACO中的背包問題

前言

本篇文章是我(dd_engi)正在進行中的一個雄心勃勃的寫作計劃的一部分,這個計劃的內容是寫作一份較為完善的NOIP難度的動態規劃總結,名為《解動態規劃題的基本思考方式》?,F在你看到的是這個寫作計劃最先發布的一部分。

背包問題是一個經典的動態規劃模型。它既簡單形象容易理解,又在某種程度上能夠揭示動態規劃的本質,故不少教材都把它作為動態規劃部分的第一道例題,我也將它放在我的寫作計劃的第一部分。

讀本文最重要的是思考。因為我的語言和寫作方式向來不以易于理解為長,思路也偶有跳躍的地方,后面更有需要大量思考才能理解的比較抽象的內容。更重要的是:不大量思考,絕對不可能學好動態規劃這一信息學奧賽中最精致的部分。

目錄

第一講 01背包問題

這是最基本的背包問題,每個物品最多只能放一次。

第二講 完全背包問題

第二個基本的背包問題模型,每種物品可以放無限多次。

第三講 多重背包問題

每種物品有一個固定的次數上限。

第四講 混合三種背包問題

將前面三種簡單的問題疊加成較復雜的問題。

第五講 二維費用的背包問題

一個簡單的常見擴展。

第六講 分組的背包問題

一種題目類型,也是一個有用的模型。后兩節的基礎。

第七講 有依賴的背包問題

另一種給物品的選取加上限制的方法。

第八講 泛化物品

我自己關于背包問題的思考成果,有一點抽象。

第九講 背包問題問法的變化

試圖觸類旁通、舉一反三。

附:USACO中的背包問題

給出?USACO?Training?上可供練習的背包問題列表,及簡單的解答。

P01:?01背包問題

題目

有N件物品和一個容量為V的背包。第i件物品的費用是c[i],價值是w[i]。求解將哪些物品裝入背包可使價值總和最大。

基本思路

這是最基礎的背包問題,特點是:每種物品僅有一件,可以選擇放或不放。

用子問題定義狀態:即f[i][v]表示前i件物品恰放入一個容量為v的背包可以獲得的最大價值。則其狀態轉移方程便是:

f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}

這個方程非常重要,基本上所有跟背包相關的問題的方程都是由它衍生出來的。所以有必要將它詳細解釋一下:“將前i件物品放入容量為v的背包中”這個子問題,若只考慮第i件物品的策略(放或不放),那么就可以轉化為一個只牽扯前i-1件物品的問題。如果不放第i件物品,那么問題就轉化為“前i-1件物品放入容量為v的背包中”,價值為f[i-1][v];如果放第i件物品,那么問題就轉化為“前i-1件物品放入剩下的容量為v-c[i]的背包中”,此時能獲得的最大價值就是f[i-1][v-c[i]]再加上通過放入第i件物品獲得的價值w[i]。

以上方法的時間和空間復雜度均為O(N*V),其中時間復雜度基本已經不能再優化了,但空間復雜度卻可以優化到O(V)。

先考慮上面講的基本思路如何實現,肯定是有一個主循環i=1..N,每次算出來二維數組f[i][0..V]的所有值。那么,如果只用一個數組f[0..V],能不能保證第i次循環結束后f[v]中表示的就是我們定義的狀態f[i][v]呢?f[i][v]是由f[i-1][v]和f[i-1][v-c[i]]兩個子問題遞推而來,能否保證在推f[i][v]時(也即在第i次主循環中推f[v]時)能夠得到f[i-1][v]和f[i-1][v-c[i]]的值呢?事實上,這要求在每次主循環中我們以v=V..0的順序推f[v],這樣才能保證推f[v]時f[v-c[i]]保存的是狀態f[i-1][v-c[i]]的值。偽代碼如下:

for?i=1..N

for?v=V..0

f[v]=max{f[v],f[v-c[i]]+w[i]};

其中的f[v]=max{f[v],f[v-c[i]]}一句恰就相當于我們的轉移方程f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]},因為現在的f[v-c[i]]就相當于原來的f[i-1][v-c[i]]。如果將v的循環順序從上面的逆序改成順序的話,那么則成了f[i][v]由f[i][v-c[i]]推知,與本題意不符,但它卻是另一個重要的背包問題P02最簡捷的解決方案,故學習只用一維數組解01背包問題是十分必要的。

事實上,使用一維數組解01背包的程序在后面會被多次用到,所以這里抽象出一個處理一件01背包中的物品過程,以后的代碼中直接調用不加說明。

過程ZeroOnePack,表示處理一件01背包中的物品,兩個參數cost、weight分別表明這件物品的費用和價值。

procedure?ZeroOnePack(cost,weight)

for?v=V..cost

f[v]=max{f[v],f[v-cost]+weight}

注意這個過程里的處理與前面給出的偽代碼有所不同。前面的示例程序寫成v=V..0是為了在程序中體現每個狀態都按照方程求解了,避免不必要的思維復雜度。而這里既然已經抽象成看作黑箱的過程了,就可以加入優化。費用為cost的物品不會影響狀態f[0..cost-1],這是顯然的。

有了這個過程以后,01背包問題的偽代碼就可以這樣寫:

for?i=1..N

ZeroOnePack(c[i],w[i]);

初始化的細節問題

我們看到的求最優解的背包問題題目中,事實上有兩種不太相同的問法。有的題目要求“恰好裝滿背包”時的最優解,有的題目則并沒有要求必須把背包裝滿。一種區別這兩種問法的實現方法是在初始化的時候有所不同。

如果是第一種問法,要求恰好裝滿背包,那么在初始化時除了f[0]為0其它f[1..V]均設為-∞,這樣就可以保證最終得到的f[N]是一種恰好裝滿背包的最優解。

如果并沒有要求必須把背包裝滿,而是只希望價格盡量大,初始化時應該將f[0..V]全部設為0。

為什么呢?可以這樣理解:初始化的f數組事實上就是在沒有任何物品可以放入背包時的合法狀態。如果要求背包恰好裝滿,那么此時只有容量為0的背包可能被價值為0的nothing“恰好裝滿”,其它容量的背包均沒有合法的解,屬于未定義的狀態,它們的值就都應該是-∞了。如果背包并非必須被裝滿,那么任何容量的背包都有一個合法解“什么都不裝”,這個解的價值為0,所以初始時狀態的值也就全部為0了。

這個小技巧完全可以推廣到其它類型的背包問題,后面也就不再對進行狀態轉移之前的初始化進行講解。

小結

01背包問題是最基本的背包問題,它包含了背包問題中設計狀態、方程的最基本思想,另外,別的類型的背包問題往往也可以轉換成01背包問題求解。故一定要仔細體會上面基本思路的得出方法,狀態轉移方程的意義,以及最后怎樣優化的空間復雜度。

P02:?完全背包問題

題目

有N種物品和一個容量為V的背包,每種物品都有無限件可用。第i種物品的費用是c[i],價值是w[i]。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量,且價值總和最大。

基本思路

這個問題非常類似于01背包問題,所不同的是每種物品有無限件。也就是從每種物品的角度考慮,與它相關的策略已并非取或不取兩種,而是有取0件、取1件、取2件……等很多種。如果仍然按照解01背包時的思路,令f[i][v]表示前i種物品恰放入一個容量為v的背包的最大權值。仍然可以按照每種物品不同的策略寫出狀態轉移方程,像這樣:

f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0<=k*c[i]<=v}

這跟01背包問題一樣有O(N*V)個狀態需要求解,但求解每個狀態的時間已經不是常數了,求解狀態f[i][v]的時間是O(v/c[i]),總的復雜度是超過O(VN)的。

將01背包問題的基本思路加以改進,得到了這樣一個清晰的方法。這說明01背包問題的方程的確是很重要,可以推及其它類型的背包問題。但我們還是試圖改進這個復雜度。

一個簡單有效的優化

完全背包問題有一個很簡單有效的優化,是這樣的:若兩件物品i、j滿足c[i]<=c[j]且w[i]>=w[j],則將物品j去掉,不用考慮。這個優化的正確性顯然:任何情況下都可將價值小費用高得j換成物美價廉的i,得到至少不會更差的方案。對于隨機生成的數據,這個方法往往會大大減少物品的件數,從而加快速度。然而這個并不能改善最壞情況的復雜度,因為有可能特別設計的數據可以一件物品也去不掉。

這個優化可以簡單的O(N^2)地實現,一般都可以承受。另外,針對背包問題而言,比較不錯的一種方法是:首先將費用大于V的物品去掉,然后使用類似計數排序的做法,計算出費用相同的物品中價值最高的是哪個,可以O(V+N)地完成這個優化。這個不太重要的過程就不給出偽代碼了,希望你能獨立思考寫出偽代碼或程序。

轉化為01背包問題求解

既然01背包問題是最基本的背包問題,那么我們可以考慮把完全背包問題轉化為01背包問題來解。最簡單的想法是,考慮到第i種物品最多選V/c[i]件,于是可以把第i種物品轉化為V/c[i]件費用及價值均不變的物品,然后求解這個01背包問題。這樣完全沒有改進基本思路的時間復雜度,但這畢竟給了我們將完全背包問題轉化為01背包問題的思路:將一種物品拆成多件物品。

更高效的轉化方法是:把第i種物品拆成費用為c[i]*2^k、價值為w[i]*2^k的若干件物品,其中k滿足c[i]*2^k<=V。這是二進制的思想,因為不管最優策略選幾件第i種物品,總可以表示成若干個2^k件物品的和。這樣把每種物品拆成O(log(V/c[i]))件物品,是一個很大的改進。

但我們有更優的O(VN)的算法。

O(VN)的算法

這個算法使用一維數組,先看偽代碼:

for?i=1..N

for?v=0..V

f[v]=max{f[v],f[v-cost]+weight}

你會發現,這個偽代碼與P01的偽代碼只有v的循環次序不同而已。為什么這樣一改就可行呢?首先想想為什么P01中要按照v=V..0的逆序來循環。這是因為要保證第i次循環中的狀態f[i][v]是由狀態f[i-1][v-c[i]]遞推而來。換句話說,這正是為了保證每件物品只選一次,保證在考慮“選入第i件物品”這件策略時,依據的是一個絕無已經選入第i件物品的子結果f[i-1][v-c[i]]。而現在完全背包的特點恰是每種物品可選無限件,所以在考慮“加選一件第i種物品”這種策略時,卻正需要一個可能已選入第i種物品的子結果f[i][v-c[i]],所以就可以并且必須采用v=0..V的順序循環。這就是這個簡單的程序為何成立的道理。

這個算法也可以以另外的思路得出。例如,基本思路中的狀態轉移方程可以等價地變形成這種形式:

f[i][v]=max{f[i-1][v],f[i][v-c[i]]+w[i]}

將這個方程用一維數組實現,便得到了上面的偽代碼。

最后抽象出處理一件完全背包類物品的過程偽代碼,以后會用到:

procedure?CompletePack(cost,weight)

for?v=cost..V

f[v]=max{f[v],f[v-c[i]]+w[i]}

總結

完全背包問題也是一個相當基礎的背包問題,它有兩個狀態轉移方程,分別在“基本思路”以及“O(VN)的算法“的小節中給出。希望你能夠對這兩個狀態轉移方程都仔細地體會,不僅記住,也要弄明白它們是怎么得出來的,最好能夠自己想一種得到這些方程的方法。事實上,對每一道動態規劃題目都思考其方程的意義以及如何得來,是加深對動態規劃的理解、提高動態規劃功力的好方法。

P03:?多重背包問題

題目

有N種物品和一個容量為V的背包。第i種物品最多有n[i]件可用,每件費用是c[i],價值是w[i]。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量,且價值總和最大。

基本算法

這題目和完全背包問題很類似?;镜姆匠讨恍鑼⑼耆嘲鼏栴}的方程略微一改即可,因為對于第i種物品有n[i]+1種策略:取0件,取1件……取n[i]件。令f[i][v]表示前i種物品恰放入一個容量為v的背包的最大權值,則有狀態轉移方程:

f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0<=k<=n[i]}

復雜度是O(V*Σn[i])。

轉化為01背包問題

另一種好想好寫的基本方法是轉化為01背包求解:把第i種物品換成n[i]件01背包中的物品,則得到了物品數為Σn[i]的01背包問題,直接求解,復雜度仍然是O(V*Σn[i])。

但是我們期望將它轉化為01背包問題之后能夠像完全背包一樣降低復雜度。仍然考慮二進制的思想,我們考慮把第i種物品換成若干件物品,使得原問題中第i種物品可取的每種策略——取0..n[i]件——均能等價于取若干件代換以后的物品。另外,取超過n[i]件的策略必不能出現。

方法是:將第i種物品分成若干件物品,其中每件物品有一個系數,這件物品的費用和價值均是原來的費用和價值乘以這個系數。使這些系數分別為1,2,4,...,2^(k-1),n[i]-2^k+1,且k是滿足n[i]-2^k+1>0的最大整數。例如,如果n[i]為13,就將這種物品分成系數分別為1,2,4,6的四件物品。

分成的這幾件物品的系數和為n[i],表明不可能取多于n[i]件的第i種物品。另外這種方法也能保證對于0..n[i]間的每一個整數,均可以用若干個系數的和表示,這個證明可以分0..2^k-1和2^k..n[i]兩段來分別討論得出,并不難,希望你自己思考嘗試一下。

這樣就將第i種物品分成了O(log?n[i])種物品,將原問題轉化為了復雜度為O(V*Σlog?n[i])的01背包問題,是很大的改進。

下面給出O(log?amount)時間處理一件多重背包中物品的過程,其中amount表示物品的數量:

procedure?MultiplePack(cost,weight,amount)

if?cost*amount>=V

CompletePack(cost,weight)

return

while?k

ZeroOnePack(k*cost,k*weight)

amount=amount-k

k=k*2

ZeroOnePack(amount*cost,amount*weight)

希望你仔細體會這個偽代碼,如果不太理解的話,不妨翻譯成程序代碼以后,單步執行幾次,或者頭腦加紙筆模擬一下,也許就會慢慢理解了。

O(VN)的算法

多重背包問題同樣有O(VN)的算法。這個算法基于基本算法的狀態轉移方程,但應用單調隊列的方法使每個狀態的值可以以均攤O(1)的時間求解。由于用單調隊列優化的DP已超出了NOIP的范圍,故本文不再展開講解。我最初了解到這個方法是在樓天成的“男人八題”幻燈片上。

小結

這里我們看到了將一個算法的復雜度由O(V*Σn[i])改進到O(V*Σlog?n[i])的過程,還知道了存在應用超出NOIP范圍的知識的O(VN)算法。希望你特別注意“拆分物品”的思想和方法,自己證明一下它的正確性,并將完整的程序代碼寫出來。

P04:?混合三種背包問題

問題

如果將P01、P02、P03混合起來。也就是說,有的物品只可以取一次(01背包),有的物品可以取無限次(完全背包),有的物品可以取的次數有一個上限(多重背包)。應該怎么求解呢?

01背包與完全背包的混合

考慮到在P01和P02中給出的偽代碼只有一處不同,故如果只有兩類物品:一類物品只能取一次,另一類物品可以取無限次,那么只需在對每個物品應用轉移方程時,根據物品的類別選用順序或逆序的循環即可,復雜度是O(VN)。偽代碼如下:

for?i=1..N

if?第i件物品是01背包

for?v=V..0

f[v]=max{f[v],f[v-c[i]]+w[i]};

else?if?第i件物品是完全背包

for?v=0..V

f[v]=max{f[v],f[v-c[i]]+w[i]};

再加上多重背包

如果再加上有的物品最多可以取有限次,那么原則上也可以給出O(VN)的解法:遇到多重背包類型的物品用單調隊列解即可。但如果不考慮超過NOIP范圍的算法的話,用P03中將每個這類物品分成O(log?n[i])個01背包的物品的方法也已經很優了。

當然,更清晰的寫法是調用我們前面給出的三個相關過程。

for?i=1..N

if?第i件物品是01背包

ZeroOnePack(c[i],w[i])

else?if?第i件物品是完全背包

CompletePack(c[i],w[i])

else?if?第i件物品是多重背包

MultiplePack(c[i],w[i],n[i])

在最初寫出這三個過程的時候,可能完全沒有想到它們會在這里混合應用。我想這體現了編程中抽象的威力。如果你一直就是以這種“抽象出過程”的方式寫每一類背包問題的,也非常清楚它們的實現中細微的不同,那么在遇到混合三種背包問題的題目時,一定能很快想到上面簡潔的解法,對嗎?

小結

有人說,困難的題目都是由簡單的題目疊加而來的。這句話是否公理暫且存之不論,但它在本講中已經得到了充分的體現。本來01背包、完全背包、多重背包都不是什么難題,但將它們簡單地組合起來以后就得到了這樣一道一定能嚇倒不少人的題目。但只要基礎扎實,領會三種基本背包問題的思想,就可以做到把困難的題目拆分成簡單的題目來解決。

P05:?二維費用的背包問題

問題

二維費用的背包問題是指:對于每件物品,具有兩種不同的費用;選擇這件物品必須同時付出這兩種代價;對于每種代價都有一個可付出的最大值(背包容量)。問怎樣選擇物品可以得到最大的價值。設這兩種代價分別為代價1和代價2,第i件物品所需的兩種代價分別為a[i]和b[i]。兩種代價可付出的最大值(兩種背包容量)分別為V和U。物品的價值為w[i]。

算法

費用加了一維,只需狀態也加一維即可。設f[i][v][u]表示前i件物品付出兩種代價分別為v和u時可獲得的最大價值。狀態轉移方程就是:

f[i][v][u]=max{f[i-1][v][u],f[i-1][v-a[i]][u-b[i]]+w[i]}

如前述方法,可以只使用二維的數組:當每件物品只可以取一次時變量v和u采用逆序的循環,當物品有如完全背包問題時采用順序的循環。當物品有如多重背包問題時拆分物品。這里就不再給出偽代碼了,相信有了前面的基礎,你能夠自己實現出這個問題的程序。

物品總個數的限制

有時,“二維費用”的條件是以這樣一種隱含的方式給出的:最多只能取M件物品。這事實上相當于每件物品多了一種“件數”的費用,每個物品的件數費用均為1,可以付出的最大件數費用為M。換句話說,設f[v][m]表示付出費用v、最多選m件時可得到的最大價值,則根據物品的類型(01、完全、多重)用不同的方法循環更新,最后在f[0..V][0..M]范圍內尋找答案。

小結

當發現由熟悉的動態規劃題目變形得來的題目時,在原來的狀態中加一緯以滿足新的限制是一種比較通用的方法。希望你能從本講中初步體會到這種方法。

P06:?分組的背包問題

問題

有N件物品和一個容量為V的背包。第i件物品的費用是c[i],價值是w[i]。這些物品被劃分為若干組,每組中的物品互相沖突,最多選一件。求解將哪些物品裝入背包可使這些物品的費用總和不超過背包容量,且價值總和最大。

算法

這個問題變成了每組物品有若干種策略:是選擇本組的某一件,還是一件都不選。也就是說設f[k][v]表示前k組物品花費費用v能取得的最大權值,則有:

f[k][v]=max{f[k-1][v],f[k-1][v-c[i]]+w[i]|物品i屬于第k組}

使用一維數組的偽代碼如下:

for?所有的組k

for?v=V..0

for?所有的i屬于組k

f[v]=max{f[v],f[v-c[i]]+w[i]}

注意這里的三層循環的順序,甚至在本文的beta版中我自己都寫錯了?!癴or?v=V..0”這一層循環必須在“for?所有的i屬于組k”之外。這樣才能保證每一組內的物品最多只有一個會被添加到背包中。

另外,顯然可以對每組內的物品應用P02中“一個簡單有效的優化”。

小結

分組的背包問題將彼此互斥的若干物品稱為一個組,這建立了一個很好的模型。不少背包問題的變形都可以轉化為分組的背包問題(例如P07),由分組的背包問題進一步可定義“泛化物品”的概念,十分有利于解題。

P07:?有依賴的背包問題

簡化的問題

這種背包問題的物品間存在某種“依賴”的關系。也就是說,i依賴于j,表示若選物品i,則必須選物品j。為了簡化起見,我們先設沒有某個物品既依賴于別的物品,又被別的物品所依賴;另外,沒有某件物品同時依賴多件物品。

算法

這個問題由NOIP2006金明的預算方案一題擴展而來。遵從該題的提法,將不依賴于別的物品的物品稱為“主件”,依賴于某主件的物品稱為“附件”。由這個問題的簡化條件可知所有的物品由若干主件和依賴于每個主件的一個附件集合組成。

按照背包問題的一般思路,僅考慮一個主件和它的附件集合??墒?#xff0c;可用的策略非常多,包括:一個也不選,僅選擇主件,選擇主件后再選擇一個附件,選擇主件后再選擇兩個附件……無法用狀態轉移方程來表示如此多的策略。(事實上,設有n個附件,則策略有2^n+1個,為指數級。)

考慮到所有這些策略都是互斥的(也就是說,你只能選擇一種策略),所以一個主件和它的附件集合實際上對應于P06中的一個物品組,每個選擇了主件又選擇了若干個附件的策略對應于這個物品組中的一個物品,其費用和價值都是這個策略中的物品的值的和。但僅僅是這一步轉化并不能給出一個好的算法,因為物品組中的物品還是像原問題的策略一樣多。

再考慮P06中的一句話:?可以對每組中的物品應用P02中“一個簡單有效的優化”。?這提示我們,對于一個物品組中的物品,所有費用相同的物品只留一個價值最大的,不影響結果。所以,我們可以對主件i的“附件集合”先進行一次01背包,得到費用依次為0..V-c[i]所有這些值時相應的最大價值f'[0..V-c[i]]。那么這個主件及它的附件集合相當于V-c[i]+1個物品的物品組,其中費用為c[i]+k的物品的價值為f'[k]+w[i]。也就是說原來指數級的策略中有很多策略都是冗余的,通過一次01背包后,將主件i轉化為V-c[i]+1個物品的物品組,就可以直接應用P06的算法解決問題了。

較一般的問題

更一般的問題是:依賴關系以圖論中“森林”的形式給出(森林即多叉樹的集合),也就是說,主件的附件仍然可以具有自己的附件集合,限制只是每個物品最多只依賴于一個物品(只有一個主件)且不出現循環依賴。

解決這個問題仍然可以用將每個主件及其附件集合轉化為物品組的方式。唯一不同的是,由于附件可能還有附件,就不能將每個附件都看作一個一般的01背包中的物品了。若這個附件也有附件集合,則它必定要被先轉化為物品組,然后用分組的背包問題解出主件及其附件集合所對應的附件組中各個費用的附件所對應的價值。

事實上,這是一種樹形DP,其特點是每個父節點都需要對它的各個兒子的屬性進行一次DP以求得自己的相關屬性。這已經觸及到了“泛化物品”的思想??赐關08后,你會發現這個“依賴關系樹”每一個子樹都等價于一件泛化物品,求某節點為根的子樹對應的泛化物品相當于求其所有兒子的對應的泛化物品之和。

小結

NOIP2006的那道背包問題我做得很失敗,寫了上百行的代碼,卻一分未得。后來我通過思考發現通過引入“物品組”和“依賴”的概念可以加深對這題的理解,還可以解決它的推廣問題。用物品組的思想考慮那題中極其特殊的依賴關系:物品不能既作主件又作附件,每個主件最多有兩個附件,可以發現一個主件和它的兩個附件等價于一個由四個物品組成的物品組,這便揭示了問題的某種本質。

我想說:失敗不是什么丟人的事情,從失敗中全無收獲才是。

P08:?泛化物品

定義

考慮這樣一種物品,它并沒有固定的費用和價值,而是它的價值隨著你分配給它的費用而變化。這就是泛化物品的概念。

更嚴格的定義之。在背包容量為V的背包問題中,泛化物品是一個定義域為0..V中的整數的函數h,當分配給它的費用為v時,能得到的價值就是h(v)。

這個定義有一點點抽象,另一種理解是一個泛化物品就是一個數組h[0..V],給它費用v,可得到價值h[V]。

一個費用為c價值為w的物品,如果它是01背包中的物品,那么把它看成泛化物品,它就是除了h(c)=w其它函數值都為0的一個函數。如果它是完全背包中的物品,那么它可以看成這樣一個函數,僅當v被c整除時有h(v)=v/c*w,其它函數值均為0。如果它是多重背包中重復次數最多為n的物品,那么它對應的泛化物品的函數有h(v)=v/c*w僅當v被c整除且v/c<=n,其它情況函數值均為0。

一個物品組可以看作一個泛化物品h。對于一個0..V中的v,若物品組中不存在費用為v的的物品,則h(v)=0,否則h(v)為所有費用為v的物品的最大價值。P07中每個主件及其附件集合等價于一個物品組,自然也可看作一個泛化物品。

泛化物品的和

如果面對兩個泛化物品h和l,要用給定的費用從這兩個泛化物品中得到最大的價值,怎么求呢?事實上,對于一個給定的費用v,只需枚舉將這個費用如何分配給兩個泛化物品就可以了。同樣的,對于0..V的每一個整數v,可以求得費用v分配到h和l中的最大價值f(v)。也即f(v)=max{h(k)+l(v-k)|0<=k<=v}??梢钥吹?#xff0c;f也是一個由泛化物品h和l決定的定義域為0..V的函數,也就是說,f是一個由泛化物品h和l決定的泛化物品。

由此可以定義泛化物品的和:h、l都是泛化物品,若泛化物品f滿足f(v)=max{h(k)+l(v-k)|0<=k<=v},則稱f是h與l的和,即f=h+l。這個運算的時間復雜度取決于背包的容量,是O(V^2)。

泛化物品的定義表明:在一個背包問題中,若將兩個泛化物品代以它們的和,不影響問題的答案。事實上,對于其中的物品都是泛化物品的背包問題,求它的答案的過程也就是求所有這些泛化物品之和的過程。設此和為s,則答案就是s[0..V]中的最大值。

背包問題的泛化物品

一個背包問題中,可能會給出很多條件,包括每種物品的費用、價值等屬性,物品之間的分組、依賴等關系等。但肯定能將問題對應于某個泛化物品。也就是說,給定了所有條件以后,就可以對每個非負整數v求得:若背包容量為v,將物品裝入背包可得到的最大價值是多少,這可以認為是定義在非負整數集上的一件泛化物品。這個泛化物品——或者說問題所對應的一個定義域為非負整數的函數——包含了關于問題本身的高度濃縮的信息。一般而言,求得這個泛化物品的一個子域(例如0..V)的值之后,就可以根據這個函數的取值得到背包問題的最終答案。

綜上所述,一般而言,求解背包問題,即求解這個問題所對應的一個函數,即該問題的泛化物品。而求解某個泛化物品的一種方法就是將它表示為若干泛化物品的和然后求之。

小結

本講可以說都是我自己的原創思想。具體來說,是我在學習函數式編程的?Scheme?語言時,用函數編程的眼光審視各類背包問題得出的理論。這一講真的很抽象,也許在“模型的抽象程度”這一方面已經超出了NOIP的要求,所以暫且看不懂也沒關系。相信隨著你的OI之路逐漸延伸,有一天你會理解的。

我想說:“思考”是一個OIer最重要的品質。簡單的問題,深入思考以后,也能發現更多。

P09:?背包問題問法的變化

以上涉及的各種背包問題都是要求在背包容量(費用)的限制下求可以取到的最大價值,但背包問題還有很多種靈活的問法,在這里值得提一下。但是我認為,只要深入理解了求背包問題最大價值的方法,即使問法變化了,也是不難想出算法的。

例如,求解最多可以放多少件物品或者最多可以裝滿多少背包的空間。這都可以根據具體問題利用前面的方程求出所有狀態的值(f數組)之后得到。

還有,如果要求的是“總價值最小”“總件數最小”,只需簡單的將上面的狀態轉移方程中的max改成min即可。

下面說一些變化更大的問法。

輸出方案

一般而言,背包問題是要求一個最優值,如果要求輸出這個最優值的方案,可以參照一般動態規劃問題輸出方案的方法:記錄下每個狀態的最優值是由狀態轉移方程的哪一項推出來的,換句話說,記錄下它是由哪一個策略推出來的。便可根據這條策略找到上一個狀態,從上一個狀態接著向前推即可。

還是以01背包為例,方程為f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。再用一個數組g[i][v],設g[i][v]=0表示推出f[i][v]的值時是采用了方程的前一項(也即f[i][v]=f[i-1][v]),g[i][v]表示采用了方程的后一項。注意這兩項分別表示了兩種策略:未選第i個物品及選了第i個物品。那么輸出方案的偽代碼可以這樣寫(設最終狀態為f[N][V]):

i=N

v=V

while(i>0)

if(g[i][v]==0)

print?"未選第i項物品"

else?if(g[i][v]==1)

print?"選了第i項物品"

v=v-c[i]

另外,采用方程的前一項或后一項也可以在輸出方案的過程中根據f[i][v]的值實時地求出來,也即不須紀錄g數組,將上述代碼中的g[i][v]==0改成f[i][v]==f[i-1][v],g[i][v]==1改成f[i][v]==f[i-1][v-c[i]]+w[i]也可。

輸出字典序最小的最優方案

這里“字典序最小”的意思是1..N號物品的選擇方案排列出來以后字典序最小。以輸出01背包最小字典序的方案為例。

一般而言,求一個字典序最小的最優方案,只需要在轉移時注意策略。首先,子問題的定義要略改一些。我們注意到,如果存在一個選了物品1的最優方案,那么答案一定包含物品1,原問題轉化為一個背包容量為v-c[1],物品為2..N的子問題。反之,如果答案不包含物品1,則轉化成背包容量仍為V,物品為2..N的子問題。不管答案怎樣,子問題的物品都是以i..N而非前所述的1..i的形式來定義的,所以狀態的定義和轉移方程都需要改一下。但也許更簡易的方法是先把物品逆序排列一下,以下按物品已被逆序排列來敘述。

在這種情況下,可以按照前面經典的狀態轉移方程來求值,只是輸出方案的時候要注意:從N到1輸入時,如果f[i][v]==f[i-v]及f[i][v]==f[i-1][f-c[i]]+w[i]同時成立,應該按照后者(即選擇了物品i)來輸出方案。

求方案總數

對于一個給定了背包容量、物品費用、物品間相互關系(分組、依賴等)的背包問題,除了再給定每個物品的價值后求可得到的最大價值外,還可以得到裝滿背包或將背包裝至某一指定容量的方案總數。

對于這類改變問法的問題,一般只需將狀態轉移方程中的max改成sum即可。例如若每件物品均是完全背包中的物品,轉移方程即為

f[i][v]=sum{f[i-1][v],f[i][v-c[i]]}

初始條件f[0][0]=1。

事實上,這樣做可行的原因在于狀態轉移方程已經考察了所有可能的背包組成方案。

最優方案的總數

這里的最優方案是指物品總價值最大的方案。以01背包為例。

結合求最大總價值和方案總數兩個問題的思路,最優方案的總數可以這樣求:f[i][v]意義同前述,g[i][v]表示這個子問題的最優方案的總數,則在求f[i][v]的同時求g[i][v]的偽代碼如下:

for?i=1..N

for?v=0..V

f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}

g[i][v]=0

if(f[i][v]==f[i-1][v])

inc(g[i][v],g[i-1][v]

if(f[i][v]==f[i-1][v-c[i]]+w[i])

inc(g[i][v],g[i-1][v-c[i]])

如果你是第一次看到這樣的問題,請仔細體會上面的偽代碼。

求次優解、第K優解

對于求次優解、第K優解類的問題,如果相應的最優解問題能寫出狀態轉移方程、用動態規劃解決,那么求次優解往往可以相同的復雜度解決,第K優解則比求最優解的復雜度上多一個系數K。

其基本思想是將每個狀態都表示成有序隊列,將狀態轉移方程中的max/min轉化成有序隊列的合并。這里仍然以01背包為例講解一下。

首先看01背包求最優解的狀態轉移方程:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。如果要求第K優解,那么狀態f[i][v]就應該是一個大小為K的數組f[i][v][1..K]。其中f[i][v][k]表示前i個物品、背包大小為v時,第k優解的值?!癴[i][v]是一個大小為K的數組”這一句,熟悉C語言的同學可能比較好理解,或者也可以簡單地理解為在原來的方程中加了一維。顯然f[i][v][1..K]這K個數是由大到小排列的,所以我們把它認為是一個有序隊列。

然后原方程就可以解釋為:f[i][v]這個有序隊列是由f[i-1][v]和f[i-1][v-c[i]]+w[i]這兩個有序隊列合并得到的。有序隊列f[i-1][v]即f[i-1][v][1..K],f[i-1][v-c[i]]+w[i]則理解為在f[i-1][v-c[i]][1..K]的每個數上加上w[i]后得到的有序隊列。合并這兩個有序隊列并將結果(的前K項)儲存到f[i][v][1..K]中的復雜度是O(K)。最后的答案是f[N][V][K]。總的復雜度是O(NVK)。

為什么這個方法正確呢?實際上,一個正確的狀態轉移方程的求解過程遍歷了所有可用的策略,也就覆蓋了問題的所有方案。只不過由于是求最優解,所以其它在任何一個策略上達不到最優的方案都被忽略了。如果把每個狀態表示成一個大小為K的數組,并在這個數組中有序的保存該狀態可取到的前K個最優值。那么,對于任兩個狀態的max運算等價于兩個由大到小的有序隊列的合并。

另外還要注意題目對于“第K優解”的定義,將策略不同但權值相同的兩個方案是看作同一個解還是不同的解。如果是前者,則維護有序隊列時要保證隊列里的數沒有重復的。

小結

顯然,這里不可能窮盡背包類動態規劃問題所有的問法。甚至還存在一類將背包類動態規劃問題與其它領域(例如數論、圖論)結合起來的問題,在這篇論背包問題的專文中也不會論及。但只要深刻領會前述所有類別的背包問題的思路和狀態轉移方程,遇到其它的變形問法,只要題目難度還屬于NOIP,應該也不難想出算法。觸類旁通、舉一反三,應該也是一個OIer應有的品質吧。

附:USACO中的背包問題

USACO是USA?Computing?Olympiad的簡稱,它組織了很多面向全球的計算機競賽活動。

USACO?Trainng是一個很適合初學者的題庫,我認為它的特色是題目質量高,循序漸進,還配有不錯的課文和題目分析。其中關于背包問題的那篇課文?(TEXT?Knapsack?problems)?也值得一看。

另外,USACO?Contest是USACO常年組織的面向全球的競賽系列,在此也推薦NOIP選手參加。

我整理了USACO?Training中涉及背包問題的題目,應該可以作為不錯的習題。其中標加號的是我比較推薦的,標嘆號的是我認為對NOIP選手比較有挑戰性的。

題目列表

·?Inflate?(+)?(基本01背包)

·?Stamps?(+)(!)?(對初學者有一定挑戰性)

·?Money

·?Nuggets

·?Subsets

·?Rockers?(+)?(另一類有趣的“二維”背包問題)

·?Milk4?(!)?(很怪的背包問題問法,較難用純DP求解)

題目簡解

以下文字來自我所撰的《USACO心得》一文,該文的完整版本,包括我的程序,可在DD的USACO征程中找到。

Inflate?是加權01?背包問題,也就是說:每種物品只有一件,只可以選擇放或者不放;而且每種物品有對應的權值,目標是使總權值最大或最小。它最樸素的狀態轉移方程是:f[k][i]?=?max{f[k-1][i]?,?f[k-1][i-v[k]]+w[k]}。f[k][i]表示前k?件物品花費代價i?可以得到的最大權值。v[k]和w[k]分別是第k?件物品的花費和權值??梢钥吹?#xff0c;?f[k]的求解過程就是使用第k?件物品對f[k-1]進行更新的過程。那么事實上就不用使用二維數組,只需要定義f[i],然后對于每件物品k,順序地檢查f[i]與f[i-v[k]]+w[k]的大小,如果后者更大,就對前者進行更新。這是背包問題中典型的優化方法。

題目stamps?中,每種物品的使用量沒有直接限制,但使用物品的總量有限制。求第一個不能用這有限個物品組成的背包的大小。(可以這樣等價地認為)設f[k][i]?表示前k?件物品組成大小為i?的背包,?最少需要物品的數量。則f[k][i]=?min{f[k-1][i],f[k-1][i-j*s[k]]+j},其中j?是選擇使用第k?件物品的數目,這個方程運用時可以用和上面一樣的方法處理成一維的。求解時先設置一個粗糙的循環上限,即最大的物品乘最多物品數。

Money?是多重背包問題。也就是每個物品可以使用無限多次。要求解的是構成一種背包的不同方案總數?;旧暇褪前岩话愕亩嘀乇嘲姆匠讨械膍in?改成sum?就行了。

Nuggets?的模型也是多重背包。要求求解所給的物品不能恰好放入的背包大小的最大值(可能不存在)。只需要根據“若i、j?互質,則關于x、y?的不定方程i*x+y*j=n?必有正整數解,其中n>i*j”這一定理得出一個循環的上限。?Subsets?子集和問題相當于物品大小是前N?個自然數時求大小為N*(N+1)/4?的?01?背包的方案數。

Rockers?可以利用求解背包問題的思想設計解法。我的狀態轉移方程如下:?f[i][j][t]=max{f[i][j][t-1]?,?f[i-1][j][t]?,?f[i-1][j][t-time[i]]+1?,?f[i-1][j-1][T]+(t>=time[i])}。其中?f[i][j][t]表示前i?首歌用j?張完整的盤和一張錄了t?分鐘的盤可以放入的最多歌數,T?是一張光盤的最大容量,t>=time[i]是一個bool?值轉換成int?取值為0?或1。但我后來發現我當時設計的狀態和方程效率有點低,如果換成這樣:f[i][j]=(a,b)表示前i?首歌中選了j?首需要用到a?張完整的光盤以及一張錄了b?分鐘的光盤,會將時空復雜度都大大降低。這種將狀態的值設為二維的方法值得注意。

Milk4?是這些類背包問題中難度最大的一道了。很多人無法做到將它用純DP?方法求解,而是用迭代加深搜索枚舉使用的桶,將其轉換成多重背包問題再DP。由于?USACO?的數據弱,迭代加深的深度很小,這樣也可以AC,但我們還是可以用純DP?方法將它完美解決的。設f[k]為稱量出k?單位牛奶需要的最少的桶數。那么可以用類似多重背包的方法對f?數組反復更新以求得最小值。然而困難在于如何輸出字典序最小的方案。我們可以對每個i?記錄pre_f[i]和pre_v[i]。表示得到i?單位牛奶的過程是用pre_f[i]單位牛奶加上若干個編號為pre_v[i]的桶的牛奶。這樣就可以一步步求得得到i?單位牛奶的完整方案。為了使方案的字典序最小,我們在每次找到一個耗費桶數相同的方案時對已儲存的方案和新方案進行比較再決定是否更新方案。為了使這種比較快捷,在使用各種大小的桶對f?數組進行更新時先大后小地進行。USACO?的官方題解正是這一思路。如果認為以上文字比較難理解可以閱讀官方程序或我的程序。

Copyright?(c)?2007?Tianyi?Cui

permission?is?granted?to?copy,?distribute?and/or?modify?this?document?under?the?terms?of?the?GNU?Free?Documentation?License,?Version?1.2?or?any?later?version?published?by?the?Free?Software?Foundation.

整理?by?stntwm

完全背包問題優化分析

無限背包,最容易想到的自然是(所謂無限背包,意思是說,物品可以無限地選取,而不是只能選擇一個)

(1)定義F(i,j)為i時間前j個物品的最優解可知

F(i,j)=max{?F(k,j-1)+(i?-k?)?p?t[j]*w[j]?}?(0<=k<=i)

此種算法復雜度接近O(n^3),很不理想,考慮到可以不枚舉分配的時間而是枚舉

選擇多少個j物品,可以得到一個較上式為優化的方程.

F(i,j)=max{?F(i-t[j]*k,j-1)+k*w[j]?}?(0<=k<=i?mod?t[j]?);

這樣得到進一步優化.但是這樣依然要TLE第二個數據.

另外一個問題是直接開數據將要MLE.對于這類方程,我們用的最多的辦法,最容易理解的辦法就是滾動數據,滾動數組可以用mod來實現,也可以開兩個一維數組變量之后交替復制,就是在每次遞歸之前多加一句g:=f;其中F是當前數組,G是上一數組.

但事實上,可以只用一個一維數組,關鍵在于遞推的順序性,一般是這樣實現的.!!下面的代碼沒有經過debug或者make,而且僅僅是一般的背包問題的偽代碼1?????for(int?j=1;j<=n;j++)

2???????for(int?i=m;i>=0;i--)

3?????????if?((t[j]<=i)&&(f[i-t[j]]+w[j]>f[i]))

4????????????f[i]=f[i-t[j]]+w[j];

結論:在每進行一次第一行的循環節(就是2-4行)后,數組f中f就是前j個物品在i時間時的最優解.為什么?當代碼尚未開始執行,f顯然滿足這樣的性質,每次循環時我們用第j個物品嘗試加入到原來i時間的方案中,如果發現當前解更優,就更新f中的值.要注意其中i的循還順序,當解問題f(i,j)時,我們需要問題f(k,j-1)的解,其中k<=i,換言之,在上述代碼中,我們解決f這一子問題的時候需要保證f[k](k<=i)的數據還是未更新過的數據.如果把i的循環順序掉轉,會得到怎么樣的結果呢?下面有分析.

(在這樣的實現方案中,第二行的i可以簡單地至t[j]停止循環)

由以上的思路,對于這道題目,我們得到了這樣的代碼

1?????for?j:=1?to?n?do

2??????????for?i:=m?downto?t[j]?do

3???????????????tmp1:=i;

4???????????????tmp2:=0;

5???????????????for?k:=1?to?i?p?t[j]?do

6????????????????????dec(tmp1,t[j]);

7????????????????????inc(tmp2,w[j]);

8????????????????????tmp:=f[tmp1]+tmp2;

9????????????????????if?tmp>f?then?f:=tmp;

但是即使是這樣的代碼,在第二個數據的面前還是要TLE.....

最后我們發現,對于無限背包,每個物品可以取到無數次,換言之,我們只希望最后解最優,而不考慮是否解里面有多個相同的物品.也就是說,我們可以把第j個物品加到已經加過第J物品的解上.別的分析和一般的01背包是一致的,關鍵在于如何反復地檢驗能否加入第J個物品.

回想一般的01背包的代碼,我們在代碼第2行讓i從m循環到t[j],以此來保證第J個物品將會加到一個尚沒有出現過該物品的方案中,那么,如果我們反過來循環呢?

1?????for?j:=1?to?n?do

2??????????for?i:=t[j]?to?m?do

3???????????????if?(t[j]<=i)and(f[i-t[j]]+w[j]>f?then

4????????????????????f:=f[i-t[j]]+w[j];

此時,第J個物品便有可能加入到一個已經有該物品的最優解中,正好滿足完全背包問題的要求.

相關閱讀

前面是轉載來的背包9講,非常詳細,后面有幾個lintcode上的題目

前言

本篇文章是我(dd_engi)正在進行中的一個雄心勃勃的寫作計劃的一

1.?問題描述:

有n個重量和價值分別為wi,vi的物品,從這些物品中挑選出總重量不超過W的物品,求所有挑選方案中價值總和的最大值。1≤n

1. 問題描述:

有n個重量和價值分別為wi,vi的物品,從這些物品中挑選出總重量不超過W的物品,求所有挑選方案中價值總和的最大值1≤n≤10

1、0-1背包問題??0-1背包問題:有一個賊在偷竊一家商店時,發現有n件物品,第i件物品價值vi元,重wi磅,此處vi與wi都是整數。他希望帶走

聲明:原文出處:https://blog.csdn.net/xp731574722/article/details/70766804

0-1?背包問題:給定 n 種物品和一個容量為 C 的背包,

總結

以上是生活随笔為你收集整理的dd大牛的背包九讲 pdf下载_「背包问题九讲」dd大牛的背包九讲-背包问题汇总 - seo实验室...的全部內容,希望文章能夠幫你解決所遇到的問題。

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

天天干天天想 | 99精品偷拍视频一区二区三区 | 欧美激情综合色综合啪啪五月 | 涩五月婷婷 | 狠狠操电影网 | 99久久精品一区二区成人 | 精品国产观看 | 久青草影院 | 狠狠干婷婷 | 天天躁日日躁狠狠躁 | 国产不卡在线看 | 麻豆精品传媒视频 | 91色国产在线 | 91系列在线观看 | 国色综合 | 91色蜜桃| 国产1级视频 | 欧美日韩精品综合 | 国产精品 亚洲精品 | 一级电影免费在线观看 | 久久久久久久网站 | 亚洲精品乱码久久久久久蜜桃91 | 久久99久久久久 | 又黄又爽又湿又无遮挡的在线视频 | 三级动图 | 五月婷婷黄色 | 免费中文字幕 | 国产精品爽爽久久久久久蜜臀 | 久久亚洲热 | 一区二区三区四区不卡 | 99热在线精品观看 | 一区二区丝袜 | 亚洲劲爆av | 在线亚洲播放 | 国产资源在线播放 | 欧美日韩精品免费观看 | 超碰97中文 | 国产精品视频免费在线观看 | 国产高清在线观看av | 亚洲黄色片在线 | 狠狠狠色丁香综合久久天下网 | 国产免费专区 | 色偷偷网站视频 | 国产精品白丝jk白祙 | 91麻豆产精品久久久久久 | 国产精品99久久久久的智能播放 | 在线视频日韩一区 | 久久久蜜桃 | 特级a毛片 | 精品国产资源 | 成人动漫视频在线 | 国产电影一区二区三区四区 | 天天色天天搞 | 麻豆视频在线观看免费 | 欧美另类调教 | 青青久草在线视频 | 国产黄色理论片 | 亚洲欧美日韩国产精品一区午夜 | 久久欧美综合 | 九九精品久久 | www.五月天婷婷 | 在线免费看黄网站 | 天天综合网 天天 | 97在线影视| 免费在线观看成人小视频 | 国产精品白丝av | 色姑娘综合网 | 国产精品毛片一区二区在线 | 91久久精品一区二区二区 | 色综合久久中文字幕综合网 | 免费看黄色小说的网站 | 成年人黄色免费网站 | 国产精品美女999 | 九色视频网址 | 天天爽夜夜爽人人爽一区二区 | 成人久久18免费 | 亚洲美女视频网 | 日日夜夜亚洲 | 国产午夜一区二区 | 中文字幕观看视频 | 国产精品永久免费在线 | 中文字幕在线观看完整版 | 国产在线国偷精品产拍 | 香蕉97视频观看在线观看 | 亚洲精品影视在线观看 | 久久亚洲福利视频 | 粉嫩一区二区三区粉嫩91 | 一区二区成人国产精品 | 成年人在线免费看视频 | 在线观看mv的中文字幕网站 | 国产大片黄色 | 中文国产成人精品久久一 | 日韩精品免费在线观看视频 | 婷婷在线色 | 91久久黄色| 99免费在线视频观看 | 91精品国产99久久久久久红楼 | www.com在线观看 | 亚洲永久国产精品 | 91污视频在线 | 视频国产在线观看18 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲成年人av | 91在线精品观看 | 五月综合激情网 | 亚洲视频免费在线观看 | 国产精品不卡在线播放 | 999国内精品永久免费视频 | 三级av免费 | 欧美日韩性| 91视频免费看 | 91丨精品丨蝌蚪丨白丝jk | 天堂av观看 | 91精品视频一区二区三区 | av免费电影在线观看 | 最新中文在线视频 | 婷婷国产v亚洲v欧美久久 | 久久综合成人 | 最新久久久 | 在线网站黄 | 国产精品中文字幕av | 玖玖精品视频 | av一区二区三区在线观看 | 欧美精品久久久久久久久久 | 久久69精品久久久久久久电影好 | 97国产超碰 | 亚洲高清视频在线观看免费 | 一区二区三区三区在线 | 婷婷av综合 | 亚洲精品9 | 亚洲精品播放 | 三上悠亚一区二区在线观看 | www.com.黄| 天天操天天曰 | 国产999精品久久久久久 | 69av网| 免费看特级毛片 | 久久爽久久爽久久av东京爽 | 97超视频在线观看 | 国产黑丝袜在线 | 国产99久久精品一区二区永久免费 | 97国产情侣爱久久免费观看 | 久草精品在线播放 | 天天干天天摸 | 91成人精品一区在线播放 | 色99网| 免费成人av | av电影在线播放 | 五月天激情电影 | 日韩av成人在线观看 | 色中色亚洲 | 欧美性久久久久久 | 中文字幕在线一区观看 | 久久亚洲欧美日韩精品专区 | 国产精品精品国产 | 97超碰站| 91麻豆精品久久久久久 | 国产午夜在线 | 久久伦理网 | 日本h视频在线观看 | 国产69熟 | 国产精品一区一区三区 | 五月av在线 | 日本丶国产丶欧美色综合 | 国产精品美女在线观看 | 男女免费av | 高清免费av在线 | 日韩精品久久一区二区 | 天天射天天射天天射 | 中文字幕2021| 伊人日日干| 久草影视在线观看 | 高清免费在线视频 | 91精品入口 | 日韩高清一区二区 | 国产精品专区h在线观看 | 91视频链接 | 久久国产精品久久精品国产演员表 | 国产99久久精品一区二区300 | 五月婷婷激情综合 | 黄色软件网站在线观看 | 日本精品一区二区三区在线播放视频 | 国产免费一区二区三区最新6 | 免费视频黄 | 亚洲成av人片在线观看 | 安徽妇搡bbbb搡bbbb | 美女免费电影 | 狠狠色丁香久久婷婷综合_中 | 日韩欧美在线观看一区 | 88av色| 国产精品一区二区电影 | 色成人亚洲 | 黄色一级大片在线免费看国产一 | 久久久久久久久久影院 | 欧美少妇xx | 久久97久久97精品免视看 | 久草在线精品观看 | 欧美精品一区二区三区四区在线 | 日本动漫做毛片一区二区 | 久久久精品国产一区二区电影四季 | 国产又粗又硬又爽视频 | 国产精品成人品 | 久久久久99精品成人片三人毛片 | 99在线视频观看 | 一区二区三区日韩视频在线观看 | 中文永久字幕 | 三级小视频在线观看 | 国产精品一区二区果冻传媒 | 黄色特一级片 | 久精品视频在线观看 | 日韩欧美一区二区三区免费观看 | 国产主播大尺度精品福利免费 | 丁香激情五月 | 日韩精品免费一区二区 | 久草网在线视频 | 日韩精品一区二区三区免费视频观看 | 免费观看一级成人毛片 | 五月婷婷伊人网 | 国产特级毛片aaaaaa | 国产精品手机在线播放 | 91在线视频观看免费 | 干狠狠 | 99在线免费观看视频 | 久久久国产精品网站 | 国产精品video爽爽爽爽 | 国产va在线 | 日日操日日 | 99国产精品免费网站 | av成人免费 | 亚州欧美视频 | 亚洲粉嫩av| www视频在线播放 | 国产中文在线视频 | 久久综合五月天婷婷伊人 | 中文在线免费观看 | 国产在线日本 | 91香蕉久久| 99精品偷拍视频一区二区三区 | 日韩一区二区三免费高清在线观看 | 成人动漫精品一区二区 | 久久久久99精品成人片三人毛片 | 69久久99精品久久久久婷婷 | 亚洲国产69 | 精品婷婷 | 天天干天天搞天天射 | 国产在线高清精品 | 91成人区| 国产小视频精品 | 亚洲第一中文字幕 | 麻豆一区在线观看 | www日日 | 在线免费性生活片 | 波多野结衣在线播放一区 | 97中文字幕| 国产成人亚洲在线观看 | 国产日韩在线一区 | 日韩精品网址 | 国产成人av免费在线观看 | 在线观看精品一区 | 成年人免费av | 亚洲国产一区在线观看 | 日本在线观看黄色 | 中文字幕久久网 | 国产在线免费观看 | 亚洲国产中文字幕 | 国产a级精品 | 免费a v网站| 一区二区三区在线播放 | 97在线视频免费观看 | 丁香婷婷深情五月亚洲 | av性在线| 伊人婷婷久久 | 国内精品久久久久影院男同志 | 西西人体4444www高清视频 | 男女拍拍免费视频 | 毛片随便看 | 久草在线资源网 | 久久www免费人成看片高清 | 丁香五月亚洲综合在线 | 亚洲毛片在线观看. | 免费国产在线精品 | 成人免费观看网站 | 91在线入口 | 天堂在线一区二区三区 | 天天综合亚洲 | 国产在线看| 亚洲五月六月 | 91在线色 | 中文字幕中文中文字幕 | 精品一二三四在线 | 综合久久网 | 中文字幕在线观看免费高清完整版 | 综合在线亚洲 | 欧美一区二区视频97 | 国产精品永久久久久久久久久 | 中文字幕在线免费播放 | 久久精品综合 | 免费在线国产精品 | 久日精品 | 在线观看中文av | 国产小视频在线 | 久久国产精品影视 | 日本不卡一区二区三区在线观看 | 国产日韩精品一区二区三区在线 | 亚洲综合射 | 91精品国产高清自在线观看 | 婷婷在线免费视频 | 日韩视频一区二区在线观看 | 美女久久久久久久 | 国产永久免费观看 | 国产91影院| 亚洲午夜久久久久久久久久久 | 99精品视频一区 | 久草视频免费在线观看 | 亚洲va在线va天堂va偷拍 | www.eeuss影院av撸 | 麻豆视屏| av电影中文字幕在线观看 | 精品一区二区免费在线观看 | 欧美日韩精品影院 | 中文字幕有码在线观看 | 亚洲精品国产精品国 | 成年人在线免费看视频 | 久久大香线蕉app | 免费视频三区 | 成人精品国产 | 五月婷婷播播 | 国产精品丝袜 | 欧美激情奇米色 | 久久国色夜色精品国产 | 人人搞人人搞 | 亚洲自拍av在线 | 视频成人永久免费视频 | 国产精品免费久久久久久久久久中文 | 三上悠亚一区二区在线观看 | 久久成人一区二区 | 久久精品网站视频 | 超碰在线最新地址 | 波多野结衣精品视频 | 亚洲日日日 | 天天综合天天做天天综合 | 日韩久久精品 | 狠狠狠狠狠狠干 | 色综合久久88色综合天天免费 | 精品久久久久久亚洲综合网站 | 久久国产精品二国产精品中国洋人 | 中文字幕在线久一本久 | 国产在线精品区 | 日韩精品一区二区三区在线播放 | 国产精品免费观看国产网曝瓜 | 国产精品久久伊人 | 亚洲国产大片 | 一级免费片 | 丝袜制服综合网 | 成人av在线观 | 看毛片网站 | 成年人在线播放视频 | 亚洲精品久久久久久中文传媒 | 国产精品不卡在线观看 | 97国产情侣爱久久免费观看 | 一区 在线观看 | 日韩视频a | 中文字幕欧美日韩va免费视频 | 国产一区二区三区免费在线观看 | 日本aaaa级毛片在线看 | 国产手机视频在线播放 | 最新av免费在线 | 欧美日韩在线免费视频 | 亚洲成 人精品 | www.久久婷婷| 久久综合久色欧美综合狠狠 | 久久久久久草 | 亚洲欧洲精品一区二区精品久久久 | 爱爱一区| 色播五月激情五月 | 亚洲国产久 | 久久伊人色综合 | 人人干,人人爽 | 天天综合天天综合 | 亚洲激情一区二区三区 | www.亚洲精品视频 | 麻豆传媒视频在线播放 | 亚洲高清在线 | 久草网视频在线观看 | 精品 激情 | 欧美精品中文在线免费观看 | 欧美日韩久久 | 日韩在线视频国产 | 国产福利av | 在线免费av播放 | 国产二级视频 | 国产国产人免费人成免费视频 | 欧美一区二区在线免费看 | 成人国产精品久久久春色 | 99综合久久 | 97国产| 国产精品久久久久久吹潮天美传媒 | 亚洲高清在线精品 | 999抗病毒口服液 | 国产日韩欧美自拍 | 天天射天天 | 99欧美精品 | 激情九九 | 精品欧美在线视频 | 天天综合五月天 | 在线视频手机国产 | 国产精品成人久久久久 | 午夜在线观看一区 | www.99av| 久久九九久久精品 | 天天天天射 | 天天干天天拍天天操 | 久久这里只精品 | 色伊人网 | 免费看黄20分钟 | www.黄色片网站 | 毛片永久新网址首页 | 五月花激情 | 国产精品美女网站 | 91国内在线 | 色综合久久88色综合天天6 | 国产青春久久久国产毛片 | 国产精品美女网站 | 91.dizhi永久地址最新 | 97超级碰碰 | 国产一区在线免费观看视频 | 国产在线视频在线观看 | 美女免费视频一区 | 免费一级片视频 | 三级av在线免费观看 | 亚洲精品久久视频 | 天天艹天天 | 国产麻豆电影 | 国产在线观看免费观看 | 91人人爽人人爽人人精88v | 久热色超碰 | 久久久精品国产免费观看一区二区 | 91九色丨porny丨丰满6 | 久久区二区 | 手机在线黄色网址 | av最新资源 | 久久久精品亚洲 | 久久精品一二三 | 婷婷激情在线观看 | 99久久精品免费视频 | 日韩欧美在线综合网 | 中文字幕高清 | 欧美日韩一级久久久久久免费看 | av福利超碰网站 | 日韩一区二区三区不卡 | 婷婷色网站 | 不卡视频一区二区三区 | 毛片基地黄久久久久久天堂 | 91欧美精品 | 国产精品久久久久久久久久免费看 | 日韩区在线观看 | 日本不卡123 | 一区二区三区电影在线播 | 国产精品一区二区麻豆 | 欧洲av不卡 | 精品久久久久久久久久久久久久久久久久 | 国产视频久久久 | 91九色丨porny丨丰满6 | 91亚色视频 | 97视频久久久 | 亚洲国产电影在线观看 | 欧美一区三区四区 | 久久精品2 | 四虎影视av | 麻豆系列在线观看 | 色在线视频网 | 亚洲三级毛片 | 综合天堂av久久久久久久 | 免费av在线网站 | 久久99精品久久只有精品 | 国产小视频网站 | 日韩精品一区二区三区三炮视频 | 精品国产午夜 | 久草在线 | 国产午夜精品免费一区二区三区视频 | 日本xxxx裸体xxxx17 | 视频一区在线免费观看 | 精品不卡视频 | 欧美精品免费一区二区 | 欧美少妇bbwhd | 国产午夜精品一区二区三区在线观看 | 久青草国产在线 | 免费黄在线看 | 久草在线观看视频免费 | 国内综合精品午夜久久资源 | 亚洲一区欧美激情 | 天天射天天干天天操 | 国产精品久久久久av福利动漫 | 成人午夜影院在线观看 | 国产一区二区三区四区在线 | 最近更新的中文字幕 | 99热在线免费观看 | 天堂中文在线播放 | 天天操天天射天天爱 | 狠狠gao | 综合av在线| 欧洲精品码一区二区三区免费看 | 欧美日韩免费看 | 亚洲视频aaa | 高清美女视频 | 精久久久久 | 4hu视频 | 国产精品岛国久久久久久久久红粉 | 丁香六月五月婷婷 | 欧美另类69 | 国产成人一区二区三区 | 四虎成人精品永久免费av | 久久综合狠狠综合久久激情 | 99久久99视频只有精品 | 日韩高清一二区 | 欧美一级视频免费 | 91视频首页 | 五月开心激情网 | 去干成人网 | 久爱精品在线 | 国产成人在线播放 | 色老板在线视频 | av在线免费在线观看 | 免费观看黄色12片一级视频 | 久草电影免费在线观看 | 最新av在线网站 | 国产小视频国产精品 | 又黄又刺激的视频 | 最新av电影网址 | 久久综合国产伦精品免费 | 日日夜夜天天综合 | 欧美另类高清 | 亚洲精品国偷拍自产在线观看 | 香蕉影院在线播放 | 欧美夫妻生活视频 | 婷婷精品国产一区二区三区日韩 | 久久超碰99 | 99热最新网址 | 91av视频在线观看免费 | 欧美一区免费在线观看 | 五月综合激情 | 国产情侣一区 | 成年人免费在线观看网站 | 成人夜晚看av | 国产不卡一 | 99热最新地址 | 色在线视频网 | av 在线观看 | 精品一区二区久久久久久久网站 | 四虎5151久久欧美毛片 | 干综合网 | 夜夜视频资源 | 国产不卡视频在线 | 亚洲欧洲精品一区 | 国产午夜精品一区二区三区四区 | 亚洲精欧美一区二区精品 | 成人黄色av网站 | 欧洲色综合 | 久久国产精品久久精品国产演员表 | 中文字幕在线视频一区二区 | 国产成人精品不卡 | 国产在线最新 | 亚洲精品影院在线观看 | 天堂av在线免费观看 | 成人h电影 | 欧美成人日韩 | 久久人人爽人人爽人人片 | 中文在线字幕观看电影 | 亚洲永久国产精品 | 99视| 亚洲一区二区三区91 | 97看片 | 国产在线综合视频 | 欧美天天干 | 亚洲午夜久久久影院 | 日韩欧美一区二区三区视频 | 日韩免费网址 | 色丁香综合 | 天天干干 | 中文字幕在线视频第一页 | 亚洲黄色av网址 | 亚洲第一香蕉视频 | 亚洲欧洲精品一区二区 | 91麻豆精品国产91久久久使用方法 | 国产精品av电影 | 亚洲一区二区天堂 | 中文字幕精品一区 | av直接看| 高清免费在线视频 | 男女视频国产 | 国产精品久久久久久超碰 | 国产护士hd高朝护士1 | 开心激情综合网 | 亚洲欧美日韩一级 | 亚洲日韩中文字幕在线播放 | av超碰在线| 香蕉视频色 | 国产日韩精品久久 | av中文字幕第一页 | 黄色av影视 | 免费在线播放av电影 | av片在线看 | 2019国产精品 | 久久看片网站 | 四虎成人精品 | 午夜色婷婷 | 99久久精品免费 | 4438全国亚洲精品观看视频 | 欧美日韩一级在线 | 国产色爽 | 欧美日韩一区二区三区在线免费观看 | 美女av免费 | 日韩在线免费电影 | www激情网 | 玖玖综合网 | 97色se| 久久综合狠狠综合久久综合88 | av三级在线免费观看 | 色在线最新 | 成人免费视频在线观看 | 丁香久久 | 亚洲视频一级 | 久久久久成人精品免费播放动漫 | 色综合久久中文综合久久牛 | 精品久久久99 | 久久久久看片 | 91一区啪爱嗯打偷拍欧美 | 亚洲成av人片 | 国内毛片毛片 | 少妇搡bbbb搡bbb搡69 | 久久久久久美女 | 久久精品国产一区二区三区 | 国产色视频一区 | 99久久日韩精品免费热麻豆美女 | 国产欧美中文字幕 | 丁香花在线视频观看免费 | 国产91亚洲 | 97国产电影 | 欧美精品天堂 | 亚洲高清免费在线 | 激情在线网址 | 夜夜骑首页 | 日韩精品视频免费在线观看 | 中文字幕色播 | 成人在线免费视频观看 | 91热爆在线观看 | 欧美性做爰猛烈叫床潮 | 99久久婷婷国产一区二区三区 | 精品久久国产精品 | 欧美成人性网 | 天天干 天天摸 天天操 | 黄色小说视频在线 | 欧美精品一级视频 | 国产在线高清视频 | av中文字幕在线电影 | 2021久久 | 最近2019年日本中文免费字幕 | 午夜狠狠干 | 久草视频免费在线播放 | 国产精品久久久久久久久久白浆 | 国产美女精品视频 | 久久久久久久久久影视 | 麻豆一区在线观看 | 国产 av 日韩| 日韩免费电影在线观看 | 精品国产美女在线 | 在线观看黄a | 国产伦理一区 | 久久9999久久 | 欧美性精品| 最新婷婷色 | 五月天激情综合 | 国产精品久久久av久久久 | 国产精品美女久久久久久久久 | 久久国产影院 | 天无日天天操天天干 | 337p日本大胆噜噜噜噜 | 国产精品免费观看国产网曝瓜 | 337p欧美| 99热精品免费观看 | 99精品国产兔费观看久久99 | 人人爽影院 | 日本字幕网 | 啪嗒啪嗒免费观看完整版 | 91豆麻精品91久久久久久 | 欧美成人中文字幕 | 夜夜爽天天爽 | 精品产品国产在线不卡 | 午夜精品久久久久久久久久久 | 久久国语 | 五月婷婷六月丁香 | 欧美一二三区在线播放 | 国产精品系列在线 | 亚洲精品乱码久久久久久9色 | 欧美午夜理伦三级在线观看 | 手机在线观看国产精品 | 97在线视 | 色爽网站 | www.久久免费 | 99久久久久成人国产免费 | 午夜三级理论 | 97人人模人人爽人人喊网 | 国产精品成人aaaaa网站 | 青青河边草免费视频 | 中文字幕日韩在线播放 | 国产精品九九九九九 | av在线免费网 | 日本天天操 | 国产高清av免费在线观看 | 国产精品久久久久影院日本 | 成人黄色国产 | 国产成人精品不卡 | 国内精品久久影院 | 久久精品国产亚洲精品2020 | 激情视频在线高清看 | 99久久精品免费看国产一区二区三区 | 亚洲一区日韩精品 | 国产精品久久久久9999 | 免费看片成人 | 日韩在线不卡 | 日日摸日日添夜夜爽97 | 国产在线精品国自产拍影院 | 99re亚洲国产精品 | 国产麻豆精品久久一二三 | 欧美日韩成人一区 | 久草视频在线免费播放 | 欧美日韩高清一区二区 | 国产午夜精品视频 | 色是在线视频 | 天天激情天天干 | 粉嫩aⅴ一区二区三区 | 97超碰人人 | 一区二区中文字幕在线观看 | 成人av免费在线 | a一片一级| 日本视频网 | 中文字幕高清免费日韩视频在线 | 欧美成人一区二区 | 免费观看国产视频 | 国产91精品看黄网站 | 亚洲最大的av网站 | 亚洲精品久久久久久久不卡四虎 | a在线v| 91久久影院| 国产又粗又长的视频 | 国产一区二区高清 | 四虎影视国产精品免费久久 | 久久女教师 | 久久中文字幕视频 | 91理论片午午伦夜理片久久 | 91网站在线视频 | 天天干,天天操,天天射 | 中文字幕在线资源 | 91亚洲欧美激情 | 中文字幕观看av | 9在线观看免费高清完整版 玖玖爱免费视频 | 色婷婷激情 | 四虎免费在线观看视频 | 五月天婷亚洲天综合网鲁鲁鲁 | 午夜精品区| 在线免费三级 | 在线日韩av | 国产精品无 | 久久精品激情 | 一区二区三区日韩在线观看 | 天堂va在线高清一区 | 国产精品久久久999 国产91九色视频 | 欧美久久久久久久久久 | 天天插综合 | 欧美精品xxx | 日韩一区精品 | 亚洲午夜精品久久久 | av大片免费 | 夜夜躁日日躁狠狠久久av | 亚洲精品99久久久久久 | 亚洲四虎| 国产 日韩 欧美 在线 | 欧美一区二区三区在线看 | 久久国产精品久久国产精品 | 午夜视频99 | 国产精品亚洲片夜色在线 | 精品a视频 | 久久99国产一区二区三区 | 国产精品久久久久四虎 | 成人午夜精品久久久久久久3d | 91久久久久久国产精品 | 日韩专区在线播放 | 中文字幕在线视频免费播放 | 天天爽夜夜爽人人爽曰av | 另类老妇性bbwbbw高清 | 在线电影日韩 | 免费观看性生交大片3 | 91人人干 | 4hu视频 | 天天天天爱天天躁 | 成年人在线电影 | 精品国产免费一区二区三区五区 | 国产亚洲精品美女久久 | 伊人五月综合 | 国产中文欧美日韩在线 | 成人看片 | 国产在线观看国语版免费 | 欧美极品在线播放 | 国内精品久久久久久久影视简单 | 成人久久18免费网站图片 | 怡红院成人在线 | 色综合久久久久综合体 | 中文字幕在线视频精品 | 久久综合9988久久爱 | 国产视频 亚洲视频 | 亚洲亚洲精品在线观看 | 久久成人精品电影 | 日韩久久久久久久久久久久 | 免费在线激情电影 | av成人黄色 | 在线观看完整版 | 精品久久久久久亚洲综合网 | 日韩三级免费观看 | 亚洲黄网站 | 黄色影院在线免费观看 | 久久久久国产精品免费免费搜索 | 精品电影一区 | 黄色一级在线观看 | 国产精品原创 | 日韩网站在线看片你懂的 | 久草电影在线观看 | 国产免费大片 | 亚州精品成人 | 久久久久久黄 | 亚洲男男gaygayxxxgv | 久久久69 | 精品中文字幕在线 | 伊在线视频 | 不卡精品 | 97色婷婷成人综合在线观看 | 亚洲精品合集 | 激情五月在线 | 国产69精品久久久久久久久久 | 欧美精品亚洲精品 | 在线韩国电影免费观影完整版 | 久久天天躁夜夜躁狠狠躁2022 | 久久久久国产成人免费精品免费 | 国产成人av网| 亚洲在线国产 | 亚洲国产中文字幕在线 | 1024手机看片国产 | 久久综合亚洲鲁鲁五月久久 | 久久婷婷精品视频 | 97视频人人澡人人爽 | 欧美日韩精品免费观看 | 色婷婷在线播放 | 日韩av网址在线 | 欧美精品一区二区在线播放 | 日韩精品免费专区 | av看片网 | 国产一区在线视频播放 | 欧美日一级片 | 日韩精品免费在线观看视频 | 天天色天天草天天射 | 国内外成人在线 | 久久精品久久99精品久久 | 毛片网站免费 | 久久免费视频7 | 96av在线视频| 男女啪啪网站 | 一本到视频在线观看 | 成人wwwxxx视频 | 精品 一区 在线 | 日韩免费b | 在线观看日本韩国电影 | 探花视频在线版播放免费观看 | 九九热在线视频免费观看 | 成人av网站在线观看 | 久草在线资源观看 | 国产伦理久久精品久久久久_ | 久久字幕精品一区 | 欧美午夜a | 99精品免费久久久久久久久日本 | 免费观看全黄做爰大片国产 | 五月婷婷综合激情 | 久久精品视频在线看 | 亚洲精品小区久久久久久 | 久久这里只有精品首页 | 夜夜天天干 | 日韩最新理论电影 | 欧美成人性战久久 | 天天草天天操 | 国产精品高清一区二区三区 | 一二区av | 韩国三级一区 | 狠狠婷婷| 国产精品手机在线播放 | 2019精品手机国产品在线 | 日韩精品中文字幕久久臀 | av青草 | 在线观看黄色国产 | 日韩a在线看 | 欧美日韩视频免费 | 亚洲一区二区三区毛片 | 亚洲精品国产精品国产 | 亚洲综合色网站 | 又黄又刺激的网站 | 四虎影视成人永久免费观看亚洲欧美 | 国产成人一区二区在线观看 | 一区二区三区福利 | 九九热免费观看 | 国产精品久久嫩一区二区免费 | 日本精品中文字幕 | 粉嫩av一区二区三区免费 | 成年人免费观看国产 | 久草视频视频在线播放 | 在线视频一区二区 | 国产字幕在线观看 | 久久免费美女视频 | 日韩av一区二区三区四区 | 亚洲欧美少妇 | 91尤物在线播放 | 日韩精品视频在线观看网址 | 亚洲成人一区 | 国产一区二区在线免费观看 | 免费情趣视频 | 亚洲无吗av | 99久久久国产精品免费99 | 91av色| 人人玩人人添人人澡超碰 | 91久久久久久久一区二区 | 久久久国产电影 | 欧美日韩二区三区 | 91自拍视频在线观看 | 免费黄色在线播放 | 久久不卡电影 | 久久免费视频网 | 中文字幕日韩一区二区三区不卡 | 亚州av网站 | 五月婷婷视频在线 | 五月综合久久 | 日日躁天天躁 | 欧美专区日韩专区 | 国产日产精品一区二区三区四区的观看方式 | 国产成人精品av | av在线最新 | 天天色综合1 | 亚洲成年人av | 91视频在线免费下载 | 91在线免费视频 | 一级黄色免费网站 | 正在播放国产一区二区 | 91精品一区国产高清在线gif | 最近中文字幕第一页 | 91精彩在线视频 | 欧美久久久久久久久中文字幕 | 激情综合网天天干 | 午夜精品一区二区三区在线播放 | 人人草在线观看 | 国产一级a毛片视频爆浆 | 国产中文字幕视频 | 欧美日韩另类在线观看 | 国产高清小视频 | 亚洲涩涩涩 | 国产黄色片在线免费观看 | 在线精品视频免费播放 | 免费看片成年人 | 亚洲欧洲日韩在线观看 | 国产在线a| www黄色av| 三上悠亚一区二区在线观看 | 国产一区免费在线观看 | 国产成人亚洲精品自产在线 | 国产97av| av在线网站观看 | 91高清在线看 | 国产99亚洲 | 日韩资源视频 | 又污又黄网站 | 久久精品艹| 久久经典视频 | 日韩av黄 | 九九热99视频 | 看片一区二区三区 | 免费在线观看av不卡 | 日韩欧美视频在线观看免费 | 亚一亚二国产专区 | 中文字幕在线视频国产 | 国产高清成人 | 人人添人人 | 成人久久综合 | 成 人 黄 色视频免费播放 | av手机在线播放 | 久久96国产精品久久99软件 | 手机在线免费av | 一级成人在线 | 中文字幕乱码日本亚洲一区二区 | 国产精品日韩欧美一区二区 | av丁香花 | 天天射天天做 | 人人爱爱人人 | 久久精品1区2区 | 亚洲视频精选 |