青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時注意才能保護(hù)別人,因為他們未必知道自己要什么·····

從今天開始,我將會用一系列文章介紹博弈論(Game Theory)的基本知識,以O(shè)I中可能用得著的為主。當(dāng)然,我對博弈論的理解還很膚淺,而且我寫東西的風(fēng)格向來都是“個人心得”而非“傳道授業(yè)”的類型。所以若你想仔細(xì)學(xué)習(xí)博弈論,我強(qiáng)烈推薦加利福尼亞大學(xué)的Thomas S. Ferguson教授精心撰寫并免費提供的這份教材,它使我受益太多。(如果你的英文水平不足以閱讀它,我只能說,恐怕你還沒到需要看“博弈論”的時候。)

Nim游戲是博弈論中最經(jīng)典的模型(之一?),它又有著十分簡單的規(guī)則和無比優(yōu)美的結(jié)論,由這個游戲開始了解博弈論恐怕是最合適不過了。

Nim游戲是組合游戲(Combinatorial Games)的一種,準(zhǔn)確來說,屬于“Impartial Combinatorial Games”(以下簡稱ICG)。滿足以下條件的游戲是ICG(可能不太嚴(yán)謹(jǐn)):1、有兩名選手;2、兩名選手交替對游戲進(jìn)行移動(move),每次一步,選手可以在(一般而言)有限的合法移動集合中任選一種進(jìn)行移動;3、對于游戲的任何一種可能的局面,合法的移動集合只取決于這個局面本身,不取決于輪到哪名選手操作、以前的任何操作、骰子的點數(shù)或者其它什么因素; 4、如果輪到某名選手移動,且這個局面的合法的移動集合為空(也就是說此時無法進(jìn)行移動),則這名選手負(fù)。根據(jù)這個定義,很多日常的游戲并非ICG。例如象棋就不滿足條件3,因為紅方只能移動紅子,黑方只能移動黑子,合法的移動集合取決于輪到哪名選手操作。

通常的Nim游戲的定義是這樣的:有若干堆石子,每堆石子的數(shù)量都是有限的,合法的移動是“選擇一堆石子并拿走若干顆(不能不拿)”,如果輪到某個人時所有的石子堆都已經(jīng)被拿空了,則判負(fù)(因為他此刻沒有任何合法的移動)。

這游戲看上去有點復(fù)雜,先從簡單情況開始研究吧。如果輪到你的時候,只剩下一堆石子,那么此時的必勝策略肯定是把這堆石子全部拿完一顆也不給對手剩,然后對手就輸了。如果剩下兩堆不相等的石子,必勝策略是通過取多的一堆的石子將兩堆石子變得相等,以后如果對手在某一堆里拿若干顆,你就可以在另一堆中拿同樣多的顆數(shù),直至勝利。如果你面對的是兩堆相等的石子,那么此時你是沒有任何必勝策略的,反而對手可以遵循上面的策略保證必勝。如果是三堆石子……好像已經(jīng)很難分析了,看來我們必須要借助一些其它好用的(最好是程式化的)分析方法了,或者說,我們最好能夠設(shè)計出一種在有必勝策略時就能找到必勝策略的算法。

定義P-position和N-position,其中P代表Previous,N代表Next。直觀的說,上一次move的人有必勝策略的局面是P-position,也就是“后手可保證必勝”或者“先手必敗”,現(xiàn)在輪到move的人有必勝策略的局面是N-position,也就是“先手可保證必勝”。更嚴(yán)謹(jǐn)?shù)亩x是:1.無法進(jìn)行任何移動的局面(也就是terminal position)是P-position;2.可以移動到P-position的局面是N-position;3.所有移動都導(dǎo)致N-position的局面是P-position。

按照這個定義,如果局面不可能重現(xiàn),或者說positions的集合可以進(jìn)行拓?fù)渑判颍敲疵總€position或者是P-position或者是N-position,而且可以通過定義計算出來。

以Nim游戲為例來進(jìn)行一下計算。比如說我剛才說當(dāng)只有兩堆石子且兩堆石子數(shù)量相等時后手有必勝策略,也就是這是一個P-position,下面我們依靠定義證明一下(3,3)是一個P是一個P是一個P-position。首先(3,3)的子局面(也就是通過合法移動可以導(dǎo)致的局面)有(0,3)(1,3)(2,3)(顯然交換石子堆的位置不影響其性質(zhì),所以把(x,y)和(y,x)看成同一種局面),只需要計算出這三種局面的性質(zhì)就可以了。 (0,3)的子局面有(0,0)、(0,1)、(0,2),其中(0,0)顯然是P-position,所以(0,3)是N-position(只要找到一個是P-position的子局面就能說明是N-position)。(1,3)的后繼中(1,1)是P-position(因為(1,1)的唯一子局面(0,1)是N-position),所以(1,3)也是N-position。同樣可以證明(2,3)是N-position。所以(3,3)的所有子局面都是N-position,它就是P-position。通過一點簡單的數(shù)學(xué)歸納,可以嚴(yán)格的證明“有兩堆石子時的局面是P-position當(dāng)且僅當(dāng)這兩堆石子的數(shù)目相等”。

根據(jù)上面這個過程,可以得到一個遞歸的算法——對于當(dāng)前的局面,遞歸計算它的所有子局面的性質(zhì),如果存在某個子局面是P-position,那么向這個子局面的移動就是必勝策略。當(dāng)然,可能你已經(jīng)敏銳地看出有大量的重疊子問題,所以可以用DP或者記憶化搜索的方法以提高效率。但問題是,利用這個算法,對于某個Nim游戲的局面(a1,a2,...,an)來說,要想判斷它的性質(zhì)以及找出必勝策略,需要計算O(a1*a2*...*an)個局面的性質(zhì),不管怎樣記憶化都無法降低這個時間復(fù)雜度。所以我們需要更高效的判斷Nim游戲的局面的性質(zhì)的方法。

直接說結(jié)論好了。(Bouton's Theorem)對于一個Nim游戲的局面(a1,a2,...,an),它是P-position當(dāng)且僅當(dāng)a1^a2^...^an=0,其中^表示異或(xor)運算。怎么樣,是不是很神奇?我看到它的時候也覺得很神奇,完全沒有道理的和異或運算扯上了關(guān)系。但這個定理的證明卻也不復(fù)雜,基本上就是按照兩種position的證明來的。

根據(jù)定義,證明一種判斷position的性質(zhì)的方法的正確性,只需證明三個命題: 1、這個判斷將所有terminal position判為P-position;2、根據(jù)這個判斷被判為N-position的局面一定可以移動到某個P-position;3、根據(jù)這個判斷被判為P-position的局面無法移動到某個P-position。

第一個命題顯然,terminal position只有一個,就是全0,異或仍然是0。

第二個命題,對于某個局面(a1,a2,...,an),若a1^a2^...^an!=0,一定存在某個合法的移動,將ai改變成ai'后滿足a1^a2^...^ai'^...^an=0。不妨設(shè)a1^a2^...^an=k,則一定存在某個ai,它的二進(jìn)制表示在k的最高位上是1(否則k的最高位那個1是怎么得到的)。這時ai^k<ai一定成立。則我們可以將ai改變成ai'=ai^k,此時a1^a2^...^ai'^...^an=a1^a2^...^an^k=0。

第三個命題,對于某個局面(a1,a2,...,an),若a1^a2^...^an=0,一定不存在某個合法的移動,將ai改變成ai'后滿足a1^a2^...^ai'^...^an=0。因為異或運算滿足消去率,由a1^a2^...^an=a1^a2^...^ai'^...^an可以得到ai=ai'。所以將ai改變成ai'不是一個合法的移動。證畢。

根據(jù)這個定理,我們可以在O(n)的時間內(nèi)判斷一個Nim的局面的性質(zhì),且如果它是N-position,也可以在O(n)的時間內(nèi)找到所有的必勝策略。Nim問題就這樣基本上完美的解決了。

在下一節(jié)“Sprague-Grundy函數(shù)”中,我們將面對更多與Nim游戲有關(guān)的變種,還會看到Nim游戲的a1^a2^...^an這個值更廣泛的意義。敬請期待。


上一期的文章里我們仔細(xì)研究了Nim游戲,并且了解了找出必勝策略的方法。但如果把Nim的規(guī)則略加改變,你還能很快找出必勝策略嗎?比如說:有n堆石子,每次可以從第1堆石子里取1顆、2顆或3顆,可以從第2堆石子里取奇數(shù)顆,可以從第3堆及以后石子里取任意顆……這時看上去問題復(fù)雜了很多,但相信你如果掌握了本節(jié)的內(nèi)容,類似的千變?nèi)f化的問題都是不成問題的。

現(xiàn)在我們來研究一個看上去似乎更為一般的游戲:給定一個有向無環(huán)圖和一個起始頂點上的一枚棋子,兩名選手交替的將這枚棋子沿有向邊進(jìn)行移動,無法移動者判負(fù)。事實上,這個游戲可以認(rèn)為是所有Impartial Combinatorial Games的抽象模型。也就是說,任何一個ICG都可以通過把每個局面看成一個頂點,對每個局面和它的子局面連一條有向邊來抽象成這個“有向圖游戲”。下面我們就在有向無環(huán)圖的頂點上定義Sprague-Garundy函數(shù)。

首先定義mex(minimal excludant)運算,這是施加于一個集合的運算,表示最小的不屬于這個集合的非負(fù)整數(shù)。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。

對于一個給定的有向無環(huán)圖,定義關(guān)于圖的每個頂點的Sprague-Garundy函數(shù)g如下:g(x)=mex{ g(y) | y是x的后繼 }。

來看一下SG函數(shù)的性質(zhì)。首先,所有的terminal position所對應(yīng)的頂點,也就是沒有出邊的頂點,其SG值為0,因為它的后繼集合是空集。然后對于一個g(x)=0的頂點x,它的所有后繼y都滿足g(y)!=0。對于一個g(x)!=0的頂點,必定存在一個后繼y滿足g(y)=0。

以上這三句話表明,頂點x所代表的postion是P-position當(dāng)且僅當(dāng)g(x)=0(跟P-positioin/N-position的定義的那三句話是完全對應(yīng)的)。我們通過計算有向無環(huán)圖的每個頂點的SG值,就可以對每種局面找到必勝策略了。但SG函數(shù)的用途遠(yuǎn)沒有這樣簡單。如果將有向圖游戲變復(fù)雜一點,比如說,有向圖上并不是只有一枚棋子,而是有n枚棋子,每次可以任選一顆進(jìn)行移動,這時,怎樣找到必勝策略呢?

讓我們再來考慮一下頂點的SG值的意義。當(dāng)g(x)=k時,表明對于任意一個0<=i<k,都存在x的一個后繼y滿足g(y)=i。也就是說,當(dāng)某枚棋子的SG值是k時,我們可以把它變成0、變成1、……、變成k-1,但絕對不能保持k不變。不知道你能不能根據(jù)這個聯(lián)想到Nim游戲,Nim游戲的規(guī)則就是:每次選擇一堆數(shù)量為k的石子,可以把它變成0、變成1、……、變成k-1,但絕對不能保持k不變。這表明,如果將n枚棋子所在的頂點的SG值看作n堆相應(yīng)數(shù)量的石子,那么這個Nim游戲的每個必勝策略都對應(yīng)于原來這n枚棋子的必勝策略!

對于n個棋子,設(shè)它們對應(yīng)的頂點的SG值分別為(a1,a2,...,an),再設(shè)局面(a1,a2,...,an)時的Nim游戲的一種必勝策略是把a(bǔ)i變成k,那么原游戲的一種必勝策略就是把第i枚棋子移動到一個SG值為k的頂點。這聽上去有點過于神奇——怎么繞了一圈又回到Nim游戲上了。

其實我們還是只要證明這種多棋子的有向圖游戲的局面是P-position當(dāng)且僅當(dāng)所有棋子所在的位置的SG函數(shù)的異或為0。這個證明與上節(jié)的Bouton's Theorem幾乎是完全相同的,只需要適當(dāng)?shù)母膸讉€名詞就行了。

剛才,我為了使問題看上去更容易一些,認(rèn)為n枚棋子是在一個有向圖上移動。但如果不是在一個有向圖上,而是每個棋子在一個有向圖上,每次可以任選一個棋子(也就是任選一個有向圖)進(jìn)行移動,這樣也不會給結(jié)論帶來任何變化。

所以我們可以定義有向圖游戲的和(Sum of Graph Games):設(shè)G1、G2、……、Gn是n個有向圖游戲,定義游戲G是G1、G2、……、Gn的和(Sum),游戲G的移動規(guī)則是:任選一個子游戲Gi并移動上面的棋子。Sprague-Grundy Theorem就是:g(G)=g(G1)^g(G2)^...^g(Gn)。也就是說,游戲的和的SG函數(shù)值是它的所有子游戲的SG函數(shù)值的異或。

再考慮在本文一開頭的一句話:任何一個ICG都可以抽象成一個有向圖游戲。所以“SG函數(shù)”和“游戲的和”的概念就不是局限于有向圖游戲。我們給每個ICG的每個position定義SG值,也可以定義n個ICG的和。所以說當(dāng)我們面對由n個游戲組合成的一個游戲時,只需對于每個游戲找出求它的每個局面的SG值的方法,就可以把這些SG值全部看成Nim的石子堆,然后依照找Nim的必勝策略的方法來找這個游戲的必勝策略了!

回到本文開頭的問題。有n堆石子,每次可以從第1堆石子里取1顆、2顆或3顆,可以從第2堆石子里取奇數(shù)顆,可以從第3堆及以后石子里取任意顆……我們可以把它看作3個子游戲,第1個子游戲只有一堆石子,每次可以取1、2、3顆,很容易看出x顆石子的局面的SG值是x%4。第2個子游戲也是只有一堆石子,每次可以取奇數(shù)顆,經(jīng)過簡單的畫圖可以知道這個游戲有x顆石子時的SG值是x%2。第3個游戲有n-2堆石子,就是一個Nim游戲。對于原游戲的每個局面,把三個子游戲的SG值異或一下就得到了整個游戲的SG值,然后就可以根據(jù)這個SG值判斷是否有必勝策略以及做出決策了。其實看作3個子游戲還是保守了些,干脆看作n個子游戲,其中第1、2個子游戲如上所述,第3個及以后的子游戲都是“1堆石子,每次取幾顆都可以”,稱為“任取石子游戲”,這個超簡單的游戲有x顆石子的SG值顯然就是x。其實,n堆石子的Nim游戲本身不就是n個“任取石子游戲”的和嗎?

所以,對于我們來說,SG函數(shù)與“游戲的和”的概念不是讓我們?nèi)ソM合、制造稀奇古怪的游戲,而是把遇到的看上去有些復(fù)雜的游戲試圖分成若干個子游戲,對于每個比原游戲簡化很多的子游戲找出它的SG函數(shù),然后全部異或起來就得到了原游戲的SG函數(shù),就可以解決原游戲了。

posted @ 2007-12-11 22:42 小果子 閱讀(316) | 評論 (0)編輯 收藏

void *memset(void *s, int v, size_t n); 

英文釋義如下:

Copies the value v (converted to type unsigned char) to the first n bytes pointed to by s; returns s.
 
這里s可以是數(shù)組名,也可以是指向某一內(nèi)在空間的指針;v為要填充的值;n為要填充的字節(jié)數(shù),通常為sizeof(s);

使用memset時要注意的是,memset是逐字節(jié)進(jìn)行填充,所以s一般為char *型。對于其它類型的s,可以填充的值有兩個,0和-1。這是因為計算機(jī)中用二進(jìn)制補(bǔ)碼表示數(shù)字,0和二進(jìn)制補(bǔ)碼為全0,-1的二進(jìn)制補(bǔ)碼為全1。如果要初始化為其它的值,可以用一個for循環(huán),如:

for(int i=0;i<n;i++)s[i]=v;

memset某個結(jié)構(gòu)(或其它的數(shù)據(jù)類型)在C語言中是很常見的代碼,其目的是對結(jié)構(gòu)(或其它的數(shù)據(jù)類型)進(jìn)行初始化,通常都是將變量置為NULL或者0。在C++中,針對類對象除了用構(gòu)造函數(shù)初始化對象外,也可以使用memset來進(jìn)行初始化操作(確實有這種情況,不得已而為之,請大家不要把雞蛋砸過來!)。但是一定要注意以下所說的這種情況:如果類包含虛擬函數(shù),則不能用 memset 來初始化類對象。下面是一個例子:

class GraphicsObject{
protected:
  char *m_pcName;
  int    m_iId;
  //etc
public:
  virtual void Draw() {}
  virtual int Area() {}
  char* Name() { return m_pcName;}
};

class Circle: public GraphicsObject{
  void Draw() { /*draw something*/ }
  int Area() { /*calculate Area*/ }
};

void main()
{
  GraphicsObject *obj = new Circle; // 創(chuàng)建對象
  memset((void *)obj,NULL,sizeof(Circle)); // memset to 0
  obj->Name(); // 非虛函數(shù)調(diào)用沒問題
  obj->Draw(); // 在這里死得很難看
}

結(jié)果我就不說了。因為每個包含虛函數(shù)的類對象都有一個指針指向虛函數(shù)表(vtbl)。這個指針被用于解決運行時以及動態(tài)類型強(qiáng)制轉(zhuǎn)換時虛函數(shù)的調(diào)用問題。該指針是被隱藏的,對程序員來說,這個指針也是不可存取的。當(dāng)進(jìn)行memset操作時,這個指針的值也要被overwrite,這樣一來,只要一調(diào)用虛函數(shù),程序便崩潰。這在很多由C轉(zhuǎn)向C++的程序員來說,很容易犯這個錯誤,而且這個錯誤很難查。
為了避免這種情況,記住對于有虛擬函數(shù)的類對象,決不能使用 memset 來進(jìn)行初始化操作。而是要用缺省的構(gòu)造函數(shù)或其它的 init 例程來初始化成員變量。
posted @ 2007-12-10 22:56 小果子 閱讀(1932) | 評論 (4)編輯 收藏

以后可以和所有愛好c++的朋友們學(xué)習(xí)和交流了。。。

posted @ 2007-12-02 20:39 小果子 閱讀(223) | 評論 (0)編輯 收藏
僅列出標(biāo)題
共58頁: First 50 51 52 53 54 55 56 57 58 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲剧情一区二区| 亚洲精品视频在线| 欧美在线一二三| 午夜精品久久久久| 国产精品视频一区二区三区| 亚洲免费一在线| 亚洲欧美日韩综合| 伊人成年综合电影网| 鲁鲁狠狠狠7777一区二区| 久久久999精品免费| 在线观看日韩一区| 亚洲精品久久久久久久久久久久 | 在线视频精品一| 夜夜嗨av一区二区三区免费区| 欧美私人网站| 久久国产精品99久久久久久老狼| 久久福利毛片| 亚洲精品乱码久久久久久黑人| 亚洲人精品午夜| 欧美午夜精品久久久久久久| 午夜在线成人av| 久久久久久久综合狠狠综合| 亚洲精品激情| 亚洲影院免费| 亚洲国产高清在线观看视频| 99热在线精品观看| 国内精品亚洲| 亚洲美女在线视频| 国外成人网址| 99视频一区二区| 黑人巨大精品欧美一区二区| 亚洲精品日韩在线| 国产欧美精品在线| 亚洲国产精品一区二区第一页| 国产精品高清一区二区三区| 女人色偷偷aa久久天堂| 欧美三级免费| 欧美激情精品久久久久久黑人 | 午夜精品久久久久久久| 亚洲夫妻自拍| 亚洲欧美另类在线观看| 亚洲精品国产系列| 欧美一区二区三区精品电影| 一区二区三区国产| 玖玖在线精品| 久久久水蜜桃av免费网站| 欧美理论电影网| 麻豆精品国产91久久久久久| 国产精品久久久久天堂| 亚洲国内精品| 在线日本高清免费不卡| 亚洲综合久久久久| 亚洲桃色在线一区| 欧美精品亚洲| 欧美成人精品在线播放| 国产一区二区三区av电影| 亚洲美女黄色| 亚洲美女毛片| 欧美黄色aa电影| 欧美激情一区二区| 亚洲国产一区二区三区青草影视| 欧美一区二区三区在线视频 | 亚洲成人原创| 久久国产精品第一页| 欧美在线观看视频| 国产精品视频yy9099| 一区二区三区色| 亚洲私拍自拍| 国产精品久久久久久久久借妻| 亚洲欧洲视频| 一区二区三区精品视频| 欧美国产日韩xxxxx| 亚洲国产精品久久久| 亚洲欧洲精品一区二区| 老司机免费视频一区二区| 欧美a级片网| 亚洲三级电影全部在线观看高清| 美国成人直播| 亚洲欧洲免费视频| 在线视频一区二区| 国产精品高清在线| 亚洲欧美视频在线观看视频| 欧美制服丝袜第一页| 国产自产高清不卡| 久久久亚洲午夜电影| 欧美成人午夜影院| 亚洲精选在线| 国产精品久久久久久户外露出| 亚洲视频在线免费观看| 欧美在线综合视频| 亚洲第一页中文字幕| 欧美高清一区| 亚洲女优在线| 欧美va亚洲va香蕉在线| 99国产精品国产精品毛片| 国产精品成人免费视频| 香蕉视频成人在线观看| 欧美成人精品激情在线观看| 在线亚洲欧美| 国产视频一区免费看| 美脚丝袜一区二区三区在线观看| 亚洲日本激情| 久久精品视频导航| 日韩午夜电影| 国产精品日韩精品| 久久亚洲一区二区三区四区| 99国内精品| 久热精品视频在线观看一区| av成人激情| 国内精品国产成人| 欧美日韩一区二区在线视频| 性做久久久久久久久| 亚洲激情自拍| 久久久久网站| 亚洲欧美日本伦理| 亚洲精品日韩综合观看成人91| 国产精品美女在线| 欧美激情一区二区在线| 欧美有码在线视频| 亚洲无毛电影| 亚洲乱码国产乱码精品精98午夜 | 日韩视频在线播放| 国产亚洲精品久久飘花| 欧美日韩国产不卡| 麻豆成人在线播放| 久久精品2019中文字幕| 亚洲视频播放| 亚洲免费观看| 亚洲成色777777在线观看影院| 久久精品官网| 亚洲欧美激情精品一区二区| 亚洲国产日韩在线一区模特| 国产亚洲欧洲997久久综合| 国产精品福利在线观看| 欧美另类在线观看| 免费欧美高清视频| 久久综合久久综合久久| 欧美中文字幕第一页| 午夜一级久久| 午夜精品视频一区| 亚洲免费在线视频| 亚洲综合欧美| 亚洲欧美日韩成人| 亚洲一区bb| 亚洲一区二区毛片| 宅男精品视频| 亚洲午夜精品一区二区| 亚洲视频视频在线| 国产精品99久久久久久人| 一本色道精品久久一区二区三区 | 美女图片一区二区| 另类亚洲自拍| 欧美激情精品久久久久久变态| 蜜臀a∨国产成人精品| 美腿丝袜亚洲色图| 欧美国产视频日韩| 亚洲激情视频在线| 艳女tv在线观看国产一区| 日韩亚洲欧美综合| 亚洲一区久久久| 欧美一级淫片播放口| 久久久久久久91| 免费亚洲一区| 欧美日韩在线第一页| 国产精品www色诱视频| 国产情侣久久| 亚洲国内欧美| 中文欧美日韩| 久久精品五月婷婷| 欧美大片免费观看| 日韩午夜在线播放| 亚洲欧美视频一区| 久久综合伊人77777麻豆| 欧美肥婆在线| 国产精品天美传媒入口| 韩国在线一区| av不卡在线| 久久精品国产一区二区三 | 亚洲精品久久久久久久久久久久 | 一区二区三区在线看| 亚洲经典三级| 欧美一级二区| 欧美国产日韩精品| 在线视频你懂得一区| 久久久五月婷婷| 欧美精品一区二区三区视频| 国产精品蜜臀在线观看| 亚洲国产成人av| 欧美亚洲免费| 亚洲高清视频在线| 午夜精品久久| 欧美猛交免费看| 在线免费一区三区| 先锋影音久久久| 91久久亚洲| 久久久久久精| 国产区二精品视| 亚洲一区www| 亚洲激情中文1区| 久久人人爽人人爽|