亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? status.c

?? 數(shù)據(jù)挖掘算法BIRCH源碼 c語言版本。
?? C
?? 第 1 頁 / 共 2 頁
字號:
	for (short i=0;i<Stats->Dimension;i++) 		fo<<Stats->Bars[i]<<"\t";	fo<<endl;	}fo<<"K\t"<<Stats->K<<endl;fo<<"InitFt\t"<<Stats->InitFt<<endl;fo<<"Ft\t"<<Stats->Ft<<endl;fo<<"Gtype\t"<<Stats->Gtype<<endl;fo<<"GDtype\t"<<Stats->GDtype<<endl;fo<<"Qtype\t"<<Stats->Qtype<<endl;fo<<"RefineAlg\t"<<Stats->RefineAlg<<endl;fo<<"NoiseFlag\t"<<Stats->NoiseFlag<<endl;fo<<"MaxRPass\t"<<Stats->MaxRPass<<endl;fo<<"Phase\t"<<Stats->Phase<<endl;fo<<"Pass\t"<<Stats->Passi<<endl;fo<<"CurFt\t"<<sqrt(Stats->CurFt)<<endl;fo<<"MemUsed \t"<<Stats->MemUsed<<endl;fo<<"TreeSize\t"<<Stats->TreeSize<<endl;fo<<"PrevEntryCnt\t"<<Stats->PrevEntryCnt<<endl;fo<<"CurrEntryCnt\t"<<Stats->CurrEntryCnt<<endl;fo<<"PrevDataCnt\t"<<Stats->PrevDataCnt<<endl;fo<<"CurrDataCnt\t"<<Stats->CurrDataCnt<<endl;fo<<"AvgDensity\t"<<Stats->AvgDensity<<endl;fo<<"NoiseCnt\t"<<Stats->NoiseCnt<<endl;fo<<"Ranges\t"<<Stats->Ranges<<endl;if (Stats->Phase==1 || Stats->Phase==2) 	if (Stats->OldRoot) Stats->OldRoot->Print_Summary(Stats,fo);if (Stats->SplitBuffer!=NULL)fo<<"SplitBuffer\n"<<Stats->SplitBuffer<<endl;if (Stats->OutlierQueue!=NULL)fo<<"OutlierQueue\n"<<Stats->OutlierQueue<<endl;if (Stats->OStats!=NULL)fo<<"OutlierTree Status\n"<<Stats->OStats<<endl;fo<<"OutlierEntryCnt\t"<<Stats->OutlierEntryCnt<<endl;fo<<"OutlierTupleCnt\t"<<Stats->OutlierTupleCnt<<endl;return fo;}ofstream& operator<<(ofstream &fo,Stat* Stats) {fo<<"***************Status of "<<Stats->name<<endl;if (strcmp(Stats->name,"outlier")!=0) {fo<<"WMflag\t"<<Stats->WMflag<<endl;fo<<"W\t"<<Stats->W<<endl;fo<<"M\t"<<Stats->M<<endl;}fo<<"Dimension\t"<<Stats->Dimension<<endl;fo<<"PageSize\t"<<Stats->PageSize<<endl;fo<<"MemSize\t"<<Stats->MemSize<<endl;fo<<"BufferSize\t"<<Stats->BufferSize<<endl;fo<<"QueueSize\t"<<Stats->QueueSize<<endl;fo<<"OutlierTreeSize\t"<<Stats->OutlierTreeSize<<endl;fo<<"BDtype\t"<<Stats->BDtype<<endl;fo<<"Ftype\t"<<Stats->Ftype<<endl;fo<<"Phase1Scheme\t"<<Stats->Phase1Scheme<<endl;fo<<"RebuiltAlg\t"<<Stats->RebuiltAlg<<endl;fo<<"StayTimes\t"<<Stats->StayTimes<<endl;fo<<"NoiseRate\t"<<Stats->NoiseRate<<endl;fo<<"Range\t"<<Stats->Range<<endl;fo<<"CFDistr\t"<<Stats->CFDistr<<endl;fo<<"H\t"<<Stats->H<<endl;if (Stats->Bars!=NULL) {	fo<<"Bars\t";	for (short i=0;i<Stats->Dimension;i++) 		fo<<Stats->Bars[i]<<"\t";	fo<<endl;	}fo<<"K\t"<<Stats->K<<endl;fo<<"InitFt\t"<<Stats->InitFt<<endl;fo<<"Ft\t"<<Stats->Ft<<endl;fo<<"Gtype\t"<<Stats->Gtype<<endl;fo<<"GDtype\t"<<Stats->GDtype<<endl;fo<<"Qtype\t"<<Stats->Qtype<<endl;fo<<"RefineAlg\t"<<Stats->RefineAlg<<endl;fo<<"NoiseFlag\t"<<Stats->NoiseFlag<<endl;fo<<"MaxRPass\t"<<Stats->MaxRPass<<endl;fo<<"Phase\t"<<Stats->Phase<<endl;fo<<"Pass\t"<<Stats->Passi<<endl;fo<<"CurFt\t"<<sqrt(Stats->CurFt)<<endl;fo<<"MemUsed \t"<<Stats->MemUsed<<endl;fo<<"TreeSize\t"<<Stats->TreeSize<<endl;fo<<"PrevEntryCnt\t"<<Stats->PrevEntryCnt<<endl;fo<<"CurrEntryCnt\t"<<Stats->CurrEntryCnt<<endl;fo<<"PrevDataCnt\t"<<Stats->PrevDataCnt<<endl;fo<<"CurrDataCnt\t"<<Stats->CurrDataCnt<<endl;fo<<"AvgDensity\t"<<Stats->AvgDensity<<endl;fo<<"NoiseCnt\t"<<Stats->NoiseCnt<<endl;fo<<"Ranges\t"<<Stats->Ranges<<endl;if (Stats->Phase==1 || Stats->Phase==2) 	if (Stats->OldRoot) Stats->OldRoot->Print_Summary(Stats,fo);if (Stats->SplitBuffer!=NULL)fo<<"SplitBuffer\n"<<Stats->SplitBuffer<<endl;if (Stats->OutlierQueue!=NULL)fo<<"OutlierQueue\n"<<Stats->OutlierQueue<<endl;if (Stats->OStats!=NULL)fo<<"OutlierTree Status\n"<<Stats->OStats<<endl;fo<<"OutlierEntryCnt\t"<<Stats->OutlierEntryCnt<<endl;fo<<"OutlierTupleCnt\t"<<Stats->OutlierTupleCnt<<endl;return fo;}// sqrt_ed:double Stat::AvgRDScanRoot() {Entry tmpent;tmpent.Init(Dimension);OldRoot->CF(tmpent);return sqrt(tmpent.Fitness(Ftype));}double Stat::AbsVScanLeafEntry() {int    i;Leaf*  tmp=NewLeafHead;double abs_v=0.0;while (tmp!=NULL) {	for (i=0;i<tmp->actsize;i++)        	   abs_v+=pow(sqrt(tmp->entry[i].Fitness(Ftype)),Dimension);	tmp=tmp->next;	}return abs_v;}double Stat::AbsVScanLeafNode() {Leaf*	tmp=NewLeafHead;double  abs_v=0.0;while (tmp!=NULL) {	abs_v+=pow(sqrt(tmp->Fitness(Ftype)),Dimension);	tmp=tmp->next;	}return abs_v;}double Stat::AvgDNNScanLeafEntry(short dtype) {Leaf*   tmp=NewLeafHead;int 	i,j,total_n=0;double  *dmin;double  d,total_d=0.0;while (tmp!=NULL) {  if (tmp->actsize>1) {    dmin=new double[tmp->actsize];    for (i=0; i<tmp->actsize; i++) dmin[i]=HUGE_DOUBLE;    total_n+=tmp->actsize;    for (i=0; i<tmp->actsize-1; i++)      for (j=i+1; j<tmp->actsize; j++) {	   d=distance(dtype,tmp->entry[i],tmp->entry[j]);	   if (d>=0) d=sqrt(d); else d=0.0;	   if (d<dmin[i]) dmin[i]=d;	   if (d<dmin[j]) dmin[j]=d;	   }	    for (i=0; i<tmp->actsize; i++) total_d+=dmin[i];    delete [] dmin;    }  tmp=tmp->next;  }return total_d/total_n; }double Stat::FtSurvey1(){int i,j;// approximate crowdest leaf nodeNode *node = OldRoot->DenseNode(); if (node==NULL)    print_error("FtSurvey1","crowded place wrong");// merge the closest pairreturn sqrt(node->ClosestDiffTwo(this,i,j));}double Stat::FtSurvey2(){Entry tmpent;tmpent.Init(Dimension);// approximate crowdest leaf nodeNode *node = OldRoot->DenseNode(); if (node==NULL)    print_error("FtSurvey2","crowded place wrong");// merge the whole leaf node node->CF(tmpent);return sqrt(tmpent.Fitness(Ftype));}// more general in terms of distortion:// distortpercent=0% ==> FtSurvey1// distortpercent=100% ==> FtSurvey2double Stat::FtSurvey3(double distortpercent){int i,j;double oldV, newV, origin;// approximate crowdest leaf node Node *node = OldRoot->DenseNode(); if (node==NULL)    print_error("FtSurvey3","crowded place is wrong");if (node->actsize==1)   print_error("FtSurvey3","only one leaf entry exists in crowded place");origin=0;for (i=0;i<node->actsize;i++) 	origin+=node->entry[i].n*node->entry[i].Radius();// merge to form a natural cluster hierarchy in the leaf nodeHierarchy *h = new Hierarchy(node->actsize-1, Dimension);h->MergeHierarchy(GDtype, node->actsize,node->Entries());// split on the hierarchy to reach distortpercentoldV = h->DistortionEdge(node->Entries());do {  newV = h->DistortionEdge(node->Entries());      if ((newV-origin)/(oldV-origin)<=distortpercent||	  h->chainptr==node->actsize-2) 	  break;     } while (h->SplitHierarchy(BY_KCLUSTERS,Ftype,Ft)==TRUE); // choose the cluster with MinFt along the split Edgedouble FutFt=h->MinFtMerged(Ftype);// replace entries in the node by newentries after physically merging the clusterint leafsize = node->MaxSize(this);Entry *newentry = new Entry[leafsize];for (i=0; i<leafsize; i++) newentry[i].Init(Dimension);j=0; newentry[0]=h->cf[-h->chain[0]-1];// find the leaf entries forming that cluster and label themwhile (h->SplitHierarchy(BY_KCLUSTERS,Ftype,Ft)==TRUE);for (i=0; i<=h->chainptr; i++) {	if (h->chain[i]>0) {		node->entry[h->chain[i]-1].n=0;		}	}for (i=0; i<node->actsize; i++) {	if (node->entry[i].n>0) {		newentry[++j]=node->entry[i];		}	}delete [] node->entry;node->actsize = j+1;node->entry=newentry;return sqrt(FutFt);}// Scan Leaf Nodes:// AvgDensity void Stat::MakeNewTree() {PrevEntryCnt=CurrEntryCnt;PrevDataCnt=CurrDataCnt;CurrEntryCnt=0;// CurrDataCnt keep going up unless specifiedTreeSize=OldRoot->Depth();MemUsed+=TreeSize;Node *tmpnode;// initialize new treeif (TreeSize==1) {   tmpnode=new Leaf(this);   tmpnode->actsize=0;   NewRoot=tmpnode;   NewLeafHead=(Leaf*)tmpnode;   OldLeafHead=(Leaf*)tmpnode;}else {   tmpnode=new Nonleaf(this);   tmpnode->actsize=1;   NewRoot=tmpnode;   for (int i=0; i<TreeSize-2; i++) {	tmpnode->NewNonleafChildI(this,0);	tmpnode=tmpnode->TheChild(0);	tmpnode->actsize=1;	}   tmpnode->NewLeafChildI(this,0);   tmpnode=tmpnode->TheChild(0);   tmpnode->actsize= 0;   NewLeafHead=(Leaf*)tmpnode;   OldLeafHead=(Leaf*)tmpnode;   }}void Stat::MarkNewTree() {PrevEntryCnt=CurrEntryCnt;PrevDataCnt=CurrDataCnt;CurrEntryCnt = 0;// CurrDataCnt keep going up unless specifiedOldLeafHead = NewLeafHead;}void Stat::StartNewTree() {PrevEntryCnt=CurrEntryCnt;PrevDataCnt=CurrDataCnt;CurrEntryCnt = 0;// CurrDataCnt keep going up unless specifiedif (OldRoot) OldRoot->free_nonleaf(this);OldRoot = new Leaf(this);NewRoot = OldRoot;MemUsed++;TreeSize = 1;OldLeafHead = NewLeafHead;NewLeafHead = (Leaf *)OldRoot;}void Stat::CreateNewRoot(Node *child1, Node *child2) {NewRoot=new Nonleaf(this); MemUsed++; TreeSize++;NewRoot->AssignActSize(2);NewRoot->AssignChild(0,child1);child1->CF(*(NewRoot->TheEntry(0)));NewRoot->AssignChild(1,child2);child2->CF(*(NewRoot->TheEntry(1)));}int Stat::EntrySize() const {#ifdef RECTANGLEreturn sizeof(int)+sizeof(double)*(3*Dimension+1);#elsereturn sizeof(int)+sizeof(double)*(Dimension+1);#endif}// shift the tree:void Stat::ShiftTree2(){int i;Entry ent;ent.Init(Dimension);Node *tmpnode;MakeNewTree();int height = OldRoot->Depth();Path CurrPath(height), BestPath(height);// initialize CurrPath to the leftmost path (leaf entry) in old treetmpnode=OldRoot;for (i=0; i<height; i++) {	CurrPath.Push(0,tmpnode);	tmpnode=tmpnode->TheChild(0);	}tmpnode=CurrPath.TopLeaf();while (tmpnode!=NULL) {  // Process all entries in the leaf node  for (i=0; i<tmpnode->actsize; i++) {      ent=tmpnode->entry[i];      // find BestPath for current entry in new tree       BestPath.Reset();      if (NewRoot->BestFitPath2(this,ent,BestPath)==TRUE) 	 	BestPath.AddonPath(this,ent,NewRoot);      else  CurrPath.AddonLeaf(this,ent,NewRoot);      }   // Process next leaf node   tmpnode=CurrPath.NextRightLeafFreeSpace(this);   if (tmpnode!=NULL) CurrPath.InsertLeaf(this,NewRoot);   }OldRoot=NewRoot;OldLeafHead=NewLeafHead;NewRoot->FreeEmptyNode(this);}// compact the tree:void Stat::CompactTree2(){int i;Entry ent;ent.Init(Dimension);MarkNewTree();int height = OldRoot->Depth();Path CurrPath(height), BestPath(height);// initialize to the leftmost path (or leaf entry) in the treeNode *tmpnode=OldRoot;for (i=0; i<height; i++) {	CurrPath.Push(0,tmpnode);	tmpnode=tmpnode->TheChild(0);	}while (CurrPath.Exists()) {	// takeoff current path (or leaf entry) from the tree	ent=*(CurrPath.TopLeafEntry());	CurrPath.TakeoffPath(ent);	// find bestpath for current leaf entry in tree and put back	BestPath.Reset();	if (OldRoot->BestFitPath2(this,ent,BestPath)==TRUE	    && BestPath<CurrPath) {		BestPath.AddonPath(this,ent,OldRoot);	   	CurrPath.CollectSpace(this);	   	}	else {  CurrPath.AddonPath(this,ent,OldRoot);		CurrEntryCnt++;	   	CurrPath.NextRightPath();	   	}	}}// responsible for old leavesvoid Stat::ScanLeaf2(){int k = 0;Entry ent;ent.Init(Dimension);short res=TRUE;StartNewTree();while (res!=FALSE) {     res = NextEntryFreeOldLeafHead(k,ent);      if (res==TRUE) {		OldRoot->AdjustTree(this,ent);		OldRoot = NewRoot;		}      } }void Stat::Accept2(const Entry &ent) {// keep trying until accepted anywaywhile (1) {  // 1: within range, accepted  if (CurrEntryCnt<=Range) {	CurrDataCnt+=ent.n;	OldRoot->AdjustTree(this,ent);	OldRoot = NewRoot;	return;	}  // 2: out of range, increase threshold, rebuild tree cout<<"#"<<name<<" "<<Phase<<" "<<Passi<<" "<<MemUsed<<" "    <<CurrDataCnt<<" "<<CurrEntryCnt<<" "<<sqrt(CurFt)<<endl;  RebuiltTree2(1);cout<<"#"<<name<<" "<<Phase<<" "<<Passi<<" "<<MemUsed<<" "    <<CurrDataCnt<<" "<<CurrEntryCnt<<" "<<sqrt(CurFt)<<endl;  }}void Stat::RebuiltTree2(short inc_flag){if (inc_flag==1 && (Passi+1)%StayTimes==0) SelectFtA(); 	Passi++;switch (RebuiltAlg) { case 0: ScanLeaf2(); break; case 1: CompactTree2(); break; case 2: ShiftTree2(); break; }}void Stat::SelectInitFt2(){CurFt=MaxOne(CurFt,pow(AbsVScanLeafEntry()/Range,2.0/Dimension));/*ConNode *contree;contree=NewRoot->Copy(this);contree->Connect(this);CurFt=MaxOne(CurFt,pow(contree->CoverUpLeafNodes(Range*1.0/CurrEntryCnt),2.0));contree->Free();*/}short Stat::NextEntryFromLeafHead(int &pos, Entry &ent, Leaf **tmp) {while ((*tmp)!=NULL && pos>=(*tmp)->actsize) {        pos=0;        (*tmp)=(*tmp)->NextLeaf();        }if ((*tmp)==NULL) return FALSE;ent=*((*tmp)->TheEntry(pos));pos++;if (pos==(*tmp)->actsize) {        pos=0;        *tmp=(*tmp)->NextLeaf();        }return TRUE;}short Stat::NextEntryFreeOldLeafHead(int &pos, Entry &ent) {Leaf *tmp;while (OldLeafHead!=NULL && pos>=OldLeafHead->actsize) {        pos = 0;        tmp = OldLeafHead;        OldLeafHead = OldLeafHead->NextLeaf();        delete tmp; MemUsed--;        }if (OldLeafHead==NULL) return FALSE;ent=*(OldLeafHead->TheEntry(pos));pos++;if (pos==OldLeafHead->actsize) {        pos=0;        tmp = OldLeafHead;         OldLeafHead = OldLeafHead->NextLeaf();        delete tmp; MemUsed--;        }return TRUE;}short Stat::NextEntryFreeRestLeafPtr(int &pos, Entry &ent) {Leaf *tmp;while (RestLeafPtr!=NULL && pos>=RestLeafPtr->actsize) {        pos = 0;        tmp = RestLeafPtr;        RestLeafPtr = RestLeafPtr->NextLeaf();        delete tmp; MemUsed--;        }if (RestLeafPtr==NULL) return FALSE;ent=*(RestLeafPtr->TheEntry(pos));pos++;if (pos==RestLeafPtr->actsize) {        pos=0;        tmp = RestLeafPtr;         RestLeafPtr = RestLeafPtr->NextLeaf();        delete tmp; MemUsed--;        }return TRUE;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区视频| 国产精品69毛片高清亚洲| 色婷婷综合中文久久一本| 国产精品视频在线看| 成人免费黄色大片| 国产精品久久久久一区二区三区共| 国产成人精品三级| 欧美激情一区在线| 91麻豆精东视频| 亚洲欧美一区二区三区极速播放| 91一区二区三区在线观看| 亚洲精品视频观看| 欧美高清视频一二三区| 日韩精品一二三区| 国产一区在线观看视频| 欧美三级中文字幕| 午夜欧美2019年伦理| 91精品国产综合久久久蜜臀粉嫩 | 精品国产露脸精彩对白| 国产综合色产在线精品| 国产精品色哟哟| 欧美性淫爽ww久久久久无| 日韩精品福利网| 久久中文字幕电影| 99国产精品一区| 五月天中文字幕一区二区| 欧美成人一级视频| 成人精品视频网站| 午夜成人在线视频| 久久久久九九视频| 在线精品视频一区二区| 捆绑紧缚一区二区三区视频| 国产欧美一区二区三区鸳鸯浴| 91麻豆高清视频| 久久国产剧场电影| 亚洲欧美一区二区久久| 欧美一区二区成人6969| av一区二区三区四区| 日韩在线一二三区| 亚洲欧洲成人自拍| 日韩一区二区不卡| 91亚洲精品久久久蜜桃| 免费黄网站欧美| 中文字幕一区视频| 欧美电影免费观看高清完整版在线| 成人黄页在线观看| 久久精品国产一区二区三| 亚洲婷婷国产精品电影人久久| 欧美一区二区视频免费观看| www.欧美日韩国产在线| 麻豆精品一区二区综合av| 亚洲免费观看视频| 国产色产综合色产在线视频| 欧美老肥妇做.爰bbww视频| 成人91在线观看| 久久成人久久爱| 亚洲成a人片在线不卡一二三区| 中文一区二区完整视频在线观看| 91精品黄色片免费大全| 91久久国产最好的精华液| 国产精品99久久久久久似苏梦涵 | 国产欧美一区二区三区鸳鸯浴 | 成人av电影在线| 激情成人午夜视频| 日日骚欧美日韩| 亚洲午夜精品在线| 亚洲视频图片小说| 国产精品久久久久久户外露出| 欧美电视剧免费观看| 欧美猛男超大videosgay| 99久久国产综合色|国产精品| 国产一区欧美日韩| 久久精品72免费观看| 水野朝阳av一区二区三区| 一区二区三区国产精品| 亚洲激情在线激情| 亚洲乱码一区二区三区在线观看| 国产精品视频一二| 久久精品一区八戒影视| 久久久久久久久97黄色工厂| 精品国产一区二区三区久久久蜜月| 91精品国产入口| 欧美高清一级片在线| 欧美日本免费一区二区三区| 欧美三级日本三级少妇99| 欧美色中文字幕| 在线成人午夜影院| 欧美一级艳片视频免费观看| 日韩一区二区免费电影| 日韩欧美一二三四区| 日韩你懂的在线播放| 精品国产乱码91久久久久久网站| 精品三级在线观看| 国产日韩精品一区二区浪潮av| 国产午夜三级一区二区三| 国产精品护士白丝一区av| 亚洲欧美另类久久久精品2019| 亚洲摸摸操操av| 亚洲成a人片在线观看中文| 日韩精品午夜视频| 国内成人自拍视频| jlzzjlzz国产精品久久| 欧洲精品中文字幕| 欧美精选在线播放| 精品国产乱码久久久久久蜜臀| 久久蜜桃一区二区| 自拍偷拍欧美激情| 亚洲国产视频a| 秋霞影院一区二区| 国产91丝袜在线观看| 91网站在线播放| 91精品国产色综合久久不卡蜜臀 | 日韩欧美中文字幕精品| 久久精品视频在线免费观看 | 国产成人aaaa| 一本一道波多野结衣一区二区 | 91精品国产综合久久精品麻豆| 精品国产一二三区| 国产精品理论在线观看| 亚洲午夜在线电影| 国产自产视频一区二区三区| 99国产精品一区| 日韩女优视频免费观看| 中文字幕不卡在线播放| 亚洲电影视频在线| 国产综合色产在线精品| 91国在线观看| 精品99999| 亚洲午夜在线观看视频在线| 韩国女主播一区二区三区| 91成人在线观看喷潮| 久久综合狠狠综合久久综合88| 一区二区在线免费| 国产精品123| 欧美日本在线看| 国产精品久久久久久久久动漫| 日韩va亚洲va欧美va久久| 99免费精品视频| 日韩精品一区二区三区蜜臀| 亚洲欧美日韩国产综合| 精品在线免费观看| 在线亚洲一区二区| 国产午夜精品久久| 日本免费在线视频不卡一不卡二| av在线播放一区二区三区| 精品久久久久久久一区二区蜜臀| 亚洲精品v日韩精品| 成人蜜臀av电影| 精品久久久久一区| 青青草成人在线观看| 一本大道久久a久久精品综合| 国产视频视频一区| 美腿丝袜亚洲三区| 欧美日韩国产不卡| 亚洲精品中文在线| 不卡一区二区在线| 国产日韩欧美综合在线| 久久精品久久精品| 欧美久久高跟鞋激| 亚洲成av人片一区二区| 色香蕉成人二区免费| 欧美国产丝袜视频| 国产成人在线观看| 久久众筹精品私拍模特| 韩国av一区二区三区四区| 91精品国产美女浴室洗澡无遮挡| 一区二区三区四区激情| 99国产精品久久久久久久久久| 国产欧美日韩不卡免费| 国产一区福利在线| 精品久久久久久久久久久久包黑料| 日韩经典中文字幕一区| 欧美另类变人与禽xxxxx| 婷婷中文字幕综合| 欧美日本在线视频| 日本va欧美va精品发布| 日韩一区二区中文字幕| 日本va欧美va瓶| 欧美成人三级在线| 国产一区二区中文字幕| 久久亚洲二区三区| 粉嫩绯色av一区二区在线观看| 欧美国产禁国产网站cc| 99精品视频中文字幕| 亚洲乱码国产乱码精品精可以看| 色婷婷亚洲一区二区三区| 一区二区国产视频| 欧美日韩精品一区二区三区蜜桃| 偷拍亚洲欧洲综合| 日韩一区二区中文字幕| 国产一区二区精品久久99| 国产精品少妇自拍| a4yy欧美一区二区三区| 一区二区三区鲁丝不卡| 欧美人狂配大交3d怪物一区| 免费观看成人av| 欧美国产精品一区二区| 在线观看日韩高清av| 日一区二区三区| xnxx国产精品|