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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 凸包(graham).txt

?? acm常用模板
?? TXT
字號:
// CONVEX HULL I
// modified by rr 不能去掉點集中重合的點
#include <stdlib.h>
#define eps 1e-8
#define zero(x) (((x)>0?(x):-(x))<eps)
struct point{double x,y;};

//計算cross product (P1-P0)x(P2-P0)
double xmult(point p1,point p2,point p0){
	return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}
//graham算法順時針構造包含所有共線點的凸包,O(nlogn)
point p1,p2;
int graham_cp(const void* a,const void* b){
	double ret=xmult(*((point*)a),*((point*)b),p1);
	return zero(ret)?(xmult(*((point*)a),*((point*)b),p2)>0?1:-1):(ret>0?1:-1);
}
void _graham(int n,point* p,int& s,point* ch){
	int i,k=0;
	for (p1=p2=p[0],i=1;i<n;p2.x+=p[i].x,p2.y+=p[i].y,i++)
		if (p1.y-p[i].y>eps||(zero(p1.y-p[i].y)&&p1.x>p[i].x))
			p1=p[k=i];
	p2.x/=n,p2.y/=n;
	p[k]=p[0],p[0]=p1;
	qsort(p+1,n-1,sizeof(point),graham_cp);
	for (ch[0]=p[0],ch[1]=p[1],ch[2]=p[2],s=i=3;i<n;ch[s++]=p[i++])
		for (;s>2&&xmult(ch[s-2],p[i],ch[s-1])<-eps;s--);
}

//構造凸包接口函數,傳入原始點集大小n,點集p(p原有順序被打亂!)
//返回凸包大小,凸包的點在convex中
//參數maxsize為1包含共線點,為0不包含共線點,缺省為1
//參數clockwise為1順時針構造,為0逆時針構造,缺省為1
//在輸入僅有若干共線點時算法不穩定,可能有此類情況請另行處理!
//不能去掉點集中重合的點
int graham(int n,point* p,point* convex,int maxsize=1,int dir=1){
	point* temp=new point[n];
	int s,i;
	_graham(n,p,s,temp);
	for (convex[0]=temp[0],n=1,i=(dir?1:(s-1));dir?(i<s):i;i+=(dir?1:-1))
		if (maxsize||!zero(xmult(temp[i-1],temp[i],temp[(i+1)%s])))
			convex[n++]=temp[i];
	delete []temp;
	return n;
}

// CONVEX HULL II
// modified by mgmg 去掉點集中重合的點

#define eps 1e-8
#define zero(x) (((x)>0?(x):-(x))<eps)
struct point{double x,y;};

//計算cross product (P1-P0)x(P2-P0)
double xmult(point p1,point p2,point p0){
    return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}
//graham算法順時針構造包含所有共線點的凸包,O(nlogn)
point p1,p2;
int graham_cp(const void* a,const void* b){
    double ret=xmult(*((point*)a),*((point*)b),p1);
    return zero(ret)?(xmult(*((point*)a),*((point*)b),p2)>0?1:-1):(ret>0?1:-1);
}
void _graham(int n,point* p,int& s,point* ch){
    int i,k=0;
    for (p1=p2=p[0],i=1;i<n;p2.x+=p[i].x,p2.y+=p[i].y,i++)
        if (p1.y-p[i].y>eps||(zero(p1.y-p[i].y)&&p1.x>p[i].x))
            p1=p[k=i];
    p2.x/=n,p2.y/=n;
    p[k]=p[0],p[0]=p1;
    qsort(p+1,n-1,sizeof(point),graham_cp);
    for (ch[0]=p[0],ch[1]=p[1],ch[2]=p[2],s=i=3;i<n;ch[s++]=p[i++])
        for (;s>2&&xmult(ch[s-2],p[i],ch[s-1])<-eps;s--);
}

int wipesame_cp(const void *a, const void *b)
{
    if ((*(point *)a).y < (*(point *)b).y - eps) return -1;
    else if ((*(point *)a).y > (*(point *)b).y + eps) return 1;
    else if ((*(point *)a).x < (*(point *)b).x - eps) return -1;
    else if ((*(point *)a).x > (*(point *)b).x + eps) return 1;
    else return 0;
}

int _wipesame(point * p, int n)
{
    int i, k;
    qsort(p, n, sizeof(point), wipesame_cp);
    for (k=i=1;i<n;i++)
        if (wipesame_cp(p+i,p+i-1)!=0) p[k++]=p[i];
    return k;
}

//構造凸包接口函數,傳入原始點集大小n,點集p(p原有順序被打亂!)
//返回凸包大小,凸包的點在convex中
//參數maxsize為1包含共線點,為0不包含共線點,缺省為1
//參數clockwise為1順時針構造,為0逆時針構造,缺省為1
//在輸入僅有若干共線點時算法不穩定,可能有此類情況請另行處理!
int graham(int n,point* p,point* convex,int maxsize=1,int dir=1){
    point* temp=new point[n];
    int s,i;
    n = _wipesame(p,n);
    _graham(n,p,s,temp);
    for (convex[0]=temp[0],n=1,i=(dir?1:(s-1));dir?(i<s):i;i+=(dir?1:-1))
        if (maxsize||!zero(xmult(temp[i-1],temp[i],temp[(i+1)%s])))
            convex[n++]=temp[i];
    delete []temp;
    return n;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区日韩精品欧美| 欧美日韩国产中文| 三级不卡在线观看| 亚洲免费在线看| 亚洲人亚洲人成电影网站色| 亚洲国产成人一区二区三区| 久久精品视频免费| 精品黑人一区二区三区久久| 欧美一区二区精品久久911| 欧美精品123区| 日韩一区二区影院| 日韩精品一区二区三区视频| 日韩美女视频在线| 亚洲精品一区二区三区精华液 | 久久婷婷成人综合色| 欧美大片国产精品| 久久久精品一品道一区| 国产女人18水真多18精品一级做| 久久综合网色—综合色88| 精品国产乱码久久久久久牛牛 | 不卡一卡二卡三乱码免费网站| 国产一区二区在线看| 国产成人在线色| av电影一区二区| 欧美亚洲综合网| 欧美成人精品1314www| 久久中文娱乐网| 国产精品久久久久久久久动漫| 国产精品久久久久久久久久免费看 | 国产成人夜色高潮福利影视| 粉嫩高潮美女一区二区三区| 91麻豆蜜桃一区二区三区| 欧美日韩视频不卡| 久久久久久亚洲综合| **欧美大码日韩| 日韩电影一区二区三区四区| 国产一区二区三区日韩| 91麻豆成人久久精品二区三区| 欧美色男人天堂| 久久精品无码一区二区三区| 一区二区三国产精华液| 经典一区二区三区| 在线观看亚洲精品| 久久久久久久久蜜桃| 亚洲国产成人高清精品| 国产成人av一区二区| 欧美福利一区二区| 国产精品久久久久永久免费观看| 婷婷国产在线综合| av一二三不卡影片| 精品免费国产一区二区三区四区| 亚洲日本va午夜在线影院| 久久精品国内一区二区三区| 色婷婷久久综合| 国产日韩欧美不卡| 久久精品国产亚洲a| 欧美在线一二三四区| 欧美国产综合色视频| 全部av―极品视觉盛宴亚洲| 色综合色狠狠天天综合色| 久久免费看少妇高潮| 奇米四色…亚洲| 91官网在线观看| 国产精品传媒在线| 国产永久精品大片wwwapp| 欧美日韩第一区日日骚| 亚洲自拍偷拍欧美| 色综合中文字幕| 中文字幕乱码久久午夜不卡| 狠狠久久亚洲欧美| 日韩欧美www| 麻豆精品在线视频| 日韩小视频在线观看专区| 午夜精品久久久久久| 在线亚洲一区二区| 一区二区久久久久久| a级精品国产片在线观看| 国产清纯在线一区二区www| 麻豆国产91在线播放| 欧美一区二区三区视频免费播放| 亚洲一区二区三区小说| 欧美性受xxxx黑人xyx性爽| 亚洲女厕所小便bbb| 色久优优欧美色久优优| 亚洲欧美另类小说视频| 91在线观看视频| 亚洲丝袜精品丝袜在线| 91久久线看在观草草青青| 亚洲精选视频在线| 在线精品视频一区二区三四| 亚洲国产成人av| 在线不卡一区二区| 另类小说一区二区三区| 精品捆绑美女sm三区| 国产精品一区二区无线| 国产精品女主播av| 日本韩国视频一区二区| 亚洲成人777| 日韩一区二区精品葵司在线| 美女免费视频一区二区| 亚洲精品一区二区三区99| 国产一区二区三区不卡在线观看| 欧美国产一区视频在线观看| heyzo一本久久综合| 一区二区三区在线观看视频| 在线国产亚洲欧美| 久久精品国产精品亚洲精品 | 国产福利一区在线| 国产精品免费丝袜| 欧美性一区二区| 国产最新精品免费| 亚洲欧洲国产日韩| 欧美一区二区三区在线观看| 国产成人鲁色资源国产91色综 | 欧美午夜精品久久久| 美女视频黄 久久| 日韩毛片精品高清免费| 日韩一区二区在线看| av毛片久久久久**hd| 麻豆国产91在线播放| 亚洲三级久久久| 日韩欧美一级二级| 色婷婷香蕉在线一区二区| 精品综合久久久久久8888| 自拍偷拍国产精品| 精品久久久久久久久久久久包黑料 | 天天爽夜夜爽夜夜爽精品视频| 国产午夜精品福利| 在线不卡一区二区| 97se亚洲国产综合自在线不卡| 日韩av一区二区三区| 亚洲日本护士毛茸茸| 久久色成人在线| 欧美另类videos死尸| 成人av网站大全| 国产一区二区三区四区五区美女 | 亚洲综合区在线| 欧美国产一区在线| 26uuu另类欧美亚洲曰本| 欧美三级一区二区| 一本久久综合亚洲鲁鲁五月天 | 久久久99久久| 日韩欧美高清一区| 欧美精品免费视频| 91成人免费网站| 97精品国产97久久久久久久久久久久| 久久69国产一区二区蜜臀| 午夜精品福利在线| 夜夜精品浪潮av一区二区三区| 国产欧美日韩在线观看| 精品sm在线观看| 日韩欧美中文字幕精品| 欧美一级日韩一级| 91精品国产综合久久久久久漫画 | 26uuu久久综合| 日韩欧美在线影院| 在线不卡中文字幕播放| 欧美日韩亚洲综合一区| 欧美色图激情小说| 欧美日韩中文一区| 欧美欧美欧美欧美| 日韩一区二区在线免费观看| 91精品国产aⅴ一区二区| 欧美一区二区久久久| 欧美电视剧在线看免费| 精品处破学生在线二十三| 久久亚洲捆绑美女| 中文字幕 久热精品 视频在线 | 国产精品素人一区二区| 中文久久乱码一区二区| 国产精品久久久久永久免费观看 | 欧美日韩中文字幕精品| 911精品国产一区二区在线| 欧美一区二区三区在| 26uuu另类欧美亚洲曰本| 国产亚洲欧美在线| 最新热久久免费视频| 亚洲一区二区五区| 麻豆国产欧美一区二区三区| 国产成人综合亚洲91猫咪| 99久久国产综合精品麻豆| 欧美最猛性xxxxx直播| 8v天堂国产在线一区二区| 精品国产99国产精品| 国产精品欧美经典| 亚洲午夜激情网页| 精品一区二区三区在线观看国产| 国产二区国产一区在线观看| 色综合色综合色综合| 日韩一区和二区| 国产欧美日韩不卡免费| 亚洲自拍偷拍图区| 久久se这里有精品| 色香蕉成人二区免费| 欧美一区二区三区视频在线| 欧美国产成人精品| 日韩黄色免费电影| 99国产精品久久久久久久久久| 4438x亚洲最大成人网| 中文av一区特黄|