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

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

?? kdtree.c

?? Lin-Kernighan heuristic for the TSP and minimum weight perfect matching
?? C
?? 第 1 頁 / 共 3 頁
字號:
#define new_box() ((E2_box_t*) pool_alloc(box_pool) ) #define free_box(P) pool_free(box_pool,(P) )  \ \#define new_node() ((E2_node_t*) (pool_alloc(node_pool) ) ) #define free_node(P) pool_free(node_pool,(P) )  \#define val(a) (coord[perm[(a) ]].x[cutdimen]) #define valx(a) (coord[perm[(a) ]].x[0]) #define valy(a) (coord[perm[(a) ]].x[1]) #define med3(a,b,c) (val(a) <val(b) ?(val(b) <val(c) ?b:val(a) <val(c) ?(c) :(a) )  \:(val(b) >val(c) ?b:val(a) >val(c) ?(c) :(a) ) )  \#define swapint(J,K) {int t= J;J= K;K= t;} \ \#define min(x,y) ((x) <(y) ?(x) :(y) ) #define max(x,y) ((x) >(y) ?(x) :(y) ) #define verb(a) if(verbose>=(a) ) /*1:*/#line 352 "./kdtree.w"#include <config.h>#include "lkconfig.h"/*30:*/#line 919 "./kdtree.w"#include <stddef.h>#include <stdio.h>#include <stdlib.h>#include "fixincludes.h"/*:30*//*59:*/#line 1453 "./kdtree.w"#include <stdio.h>/*:59*//*82:*/#line 1838 "./kdtree.w"#include <math.h>/*:82*/#line 355 "./kdtree.w"/*7:*/#line 524 "./kdtree.w"#include "length.h"#include "read.h"/*:7*/#line 356 "./kdtree.w"/*3:*/#line 382 "./kdtree.w"#include "kdtree.h"/*:3*//*17:*/#line 737 "./kdtree.w"#include "pool.h"/*:17*//*28:*/#line 897 "./kdtree.w"#include "error.h"#include "memory.h"/*:28*//*72:*/#line 1704 "./kdtree.w"#include "pq.h"/*:72*//*104:*/#line 2300 "./kdtree.w"#include "error.h"#include "memory.h"/*:104*/#line 357 "./kdtree.w"/*15:*/#line 718 "./kdtree.w"typedef struct{double xmin,xmax,ymin,ymax;}E2_box_t;/*:15*/#line 359 "./kdtree.w"/*8:*/#line 555 "./kdtree.w"typedef struct E2_node_s{/*12:*/#line 651 "./kdtree.w"struct E2_node_s*parent;/*:12*//*14:*/#line 714 "./kdtree.w"E2_box_t*bbox;/*:14*/#line 557 "./kdtree.w"union{struct{int cutdimen;double cutvalue;struct E2_node_s*lo_child,*hi_child;/*21:*/#line 816 "./kdtree.w"struct E2_node_s*eq_child;/*:21*/#line 563 "./kdtree.w"}i;struct{int lo,hi;/*54:*/#line 1376 "./kdtree.w"int hi_all;/*:54*/#line 567 "./kdtree.w"}e;}f;char is_bucket;/*13:*/#line 660 "./kdtree.w"#if !defined(KD_NO_HIDDEN_BIT)char hidden;#endif/*:13*/#line 571 "./kdtree.w"}E2_node_t;/*:8*/#line 360 "./kdtree.w"/*25:*/#line 877 "./kdtree.w"static pool_t*node_pool,*box_pool;/*:25*//*27:*/#line 893 "./kdtree.w"static int n;/*:27*//*32:*/#line 962 "./kdtree.w"static E2_node_t*E2_root;static coord_2d*coord;/*:32*//*36:*/#line 1046 "./kdtree.w"static E2_node_t**E2_point_to_bucket;/*:36*//*70:*/#line 1661 "./kdtree.w"static int quadrant_mask;/*:70*//*71:*/#line 1697 "./kdtree.w"static int E2_nn_seed,E2_nn_incumbent,E2_nn_bin_want_size;static double E2_nn_dist,E2_nn_dist_sq,E2_nn_seed_x,E2_nn_seed_y;static pq_t*E2_nn_bin;static kd_bin_t*E2_nn_bin_work= NULL;/*:71*//*84:*/#line 1882 "./kdtree.w"static int E2_nn_fill_bin= 0;/*:84*//*96:*/#line 2155 "./kdtree.w"static double E2_strict_upper_bound;/*:96*//*109:*/#line 2393 "./kdtree.w"extern int verbose;/*:109*/#line 361 "./kdtree.w"/*9:*/#line 589 "./kdtree.w"int*perm;/*:9*//*10:*/#line 613 "./kdtree.w"int kd_bucket_cutoff= 10;/*:10*//*18:*/#line 747 "./kdtree.w"int kd_bbox_skip= 3;/*:18*/#line 362 "./kdtree.w"/*33:*/#line 986 "./kdtree.w"static E2_node_t*E2_build_helper(E2_node_t*parent,int flat_dimens,int level,int lo,int hi,double xmin,double xmax,double ymin,double ymax){E2_node_t*node= new_node();node->parent= parent;#if !defined(KD_NO_HIDDEN_BIT)node->hidden= lo>=hi;#endifif((++level%kd_bbox_skip)==0){node->bbox= new_box();node->bbox->xmin= xmin;node->bbox->xmax= xmax;node->bbox->ymin= ymin;node->bbox->ymax= ymax;/*108:*/#line 2371 "./kdtree.w"#ifdef KD_CHECK_BBOXverb(1000)printf("lo %d hi %d\n",lo,hi);if(lo<hi){double xl,xh,yl,yh;int i;xl= xmax;xh= xmin;yl= ymax;yh= ymin;for(i= lo;i<hi;i++){verb(1000)printf("xl %f i %d perm[i] %d %f %f xl\n",xl,i,perm[i],coord[perm[i]].x[0],coord[perm[i]].x[1]);xl= min(xl,valx(i));yl= min(yl,valy(i));xh= max(xh,valx(i));yh= max(yh,valy(i));}errorif(xl!=xmin,"xl %f!= xmin %f",xl,xmin);errorif(yl!=ymin,"yl %f!= ymin %f",yl,ymin);errorif(xh!=xmax,"xh %f!= xmax %f",xh,xmax);errorif(yh!=ymax,"yh %f!= ymax %f",yh,ymax);}#endif/*:108*/#line 1002 "./kdtree.w"}else{node->bbox= NULL;}if(hi-lo<=kd_bucket_cutoff||flat_dimens==0x03){node->is_bucket= 1;node->f.e.lo= lo;node->f.e.hi= hi;/*55:*/#line 1380 "./kdtree.w"node->f.e.hi_all= hi;/*:55*/#line 1010 "./kdtree.w"/*35:*/#line 1040 "./kdtree.w"{int i;for(i= lo;i<hi;i++)E2_point_to_bucket[perm[i]]= node;}/*:35*/#line 1011 "./kdtree.w"}else{node->is_bucket= 0;/*39:*/#line 1069 "./kdtree.w"{int cutdimen= 0;switch(flat_dimens){case 0:if(xmax-xmin>ymax-ymin)cutdimen= 0;else cutdimen= 1;break;case 1:cutdimen= 1;break;case 2:cutdimen= 0;break;case 3:default:errorif(1,"Invalid flat_dimens: %d",flat_dimens);}/*40:*/#line 1092 "./kdtree.w"{int p;int a,b,c,d;double exl,exh,lxl,lxh,gxl,gxh;double eyl,eyh,lyl,lyh,gyl,gyh;/*41:*/#line 1140 "./kdtree.w"p= (lo+hi)/2;if(hi-lo>7){int p1= lo,pn= hi-1;if(hi-lo>40){int s= (hi-lo)/8;p1= med3(p1,p1+s,p1+s+s);p= med3(p-s,p,p+s);pn= med3(pn-s-s,pn-s,pn);}p= med3(p1,p,pn);}/*:41*/#line 1097 "./kdtree.w"/*42:*/#line 1172 "./kdtree.w"/*43:*/#line 1210 "./kdtree.w"exl= lxl= gxl= xmax;exh= lxh= gxh= xmin;eyl= lyl= gyl= ymax;eyh= lyh= gyh= ymin;/*:43*/#line 1173 "./kdtree.w"a= b= lo;c= d= hi-1;{double v= val(p),diff;node->f.i.cutdimen= cutdimen;node->f.i.cutvalue= v;for(;;){while(b<=c&&(diff= val(b)-v)<=0.0){if(diff==0.0){/*44:*/#line 1219 "./kdtree.w"exl= min(exl,valx(b));exh= max(exh,valx(b));eyl= min(eyl,valy(b));eyh= max(eyh,valy(b));/*:44*/#line 1181 "./kdtree.w"swapint(perm[a],perm[b]);a++;}else{/*45:*/#line 1226 "./kdtree.w"lxl= min(lxl,valx(b));lxh= max(lxh,valx(b));lyl= min(lyl,valy(b));lyh= max(lyh,valy(b));/*:45*/#line 1185 "./kdtree.w"}b++;}while(c>=b&&(diff= val(c)-v)>=0.0){if(diff==0.0){/*46:*/#line 1233 "./kdtree.w"exl= min(exl,valx(c));exh= max(exh,valx(c));eyl= min(eyl,valy(c));eyh= max(eyh,valy(c));/*:46*/#line 1191 "./kdtree.w"swapint(perm[d],perm[c]);d--;}else{/*47:*/#line 1240 "./kdtree.w"gxl= min(gxl,valx(c));gxh= max(gxh,valx(c));gyl= min(gyl,valy(c));gyh= max(gyh,valy(c));/*:47*/#line 1195 "./kdtree.w"}c--;}if(b>c)break;swapint(perm[b],perm[c]);/*45:*/#line 1226 "./kdtree.w"lxl= min(lxl,valx(b));lxh= max(lxh,valx(b));lyl= min(lyl,valy(b));lyh= max(lyh,valy(b));/*:45*/#line 1201 "./kdtree.w"/*47:*/#line 1240 "./kdtree.w"gxl= min(gxl,valx(c));gxh= max(gxh,valx(c));gyl= min(gyl,valy(c));gyh= max(gyh,valy(c));/*:47*/#line 1202 "./kdtree.w"b++;c--;}/*48:*/#line 1247 "./kdtree.w"{int s,l,h;s= min(a-lo,b-a);for(l= lo,h= b-s;s;s--){swapint(perm[l],perm[h]);l++;h++;}s= min(d-c,hi-1-d);for(l= b,h= hi-s;s;s--){swapint(perm[l],perm[h]);l++;h++;}}/*:48*/#line 1205 "./kdtree.w"}/*103:*/#line 2276 "./kdtree.w"#ifdef KD_CHECK_PARTITIONING{int i;double v= node->f.i.cutvalue;verb(1000)printf("\nDimension %d\n",cutdimen);for(i= lo;i<hi;i++){if(i==lo)verb(1000)printf("Checking lesser: %d %d\n",lo,lo+b-a);if(i==lo+b-a)verb(1000)printf("Checking equal: %d %d\n",lo+b-a,hi-(d-c));if(i==hi-(d-c))verb(1000)printf("Checking greater: %d %d\n",hi-(d-c),hi);verb(1000)printf("%d (%.0f,%.0f)\t %.0f %.0f\n",i,valx(i),valy(i),val(i),v);fflush(stdout);}for(i= lo;i<lo+b-a;i++){errorif(val(i)>=v,"Not lesser at %d",i);}for(i= lo+b-a;i<hi-(d-c);i++){errorif(val(i)!=v,"Not equal at %d",i);}for(i= hi-(d-c);i<hi;i++){errorif(val(i)<=v,"Not greater at %d",i);}}#endif/*:103*/#line 1207 "./kdtree.w"/*:42*/#line 1098 "./kdtree.w"/*49:*/#line 1316 "./kdtree.w"#if defined(KD_BUILD_SMALLEST_SEGMENT_FIRST){int l= b-a,m= hi-(d-c)-lo+b-a,h= d-c;if(l<=m){if(m<=h){/*50:*/#line 1343 "./kdtree.w"node->f.i.lo_child= E2_build_helper(node,flat_dimens,level,lo,lo+b-a,lxl,lxh,lyl,lyh);/*:50*/#line 1320 "./kdtree.w"/*52:*/#line 1357 "./kdtree.w"node->f.i.eq_child= E2_build_helper(node,flat_dimens|(cutdimen+1),level,lo+b-a,hi-(d-c),exl,exh,eyl,eyh);/*:52*/#line 1320 "./kdtree.w"/*51:*/#line 1347 "./kdtree.w"node->f.i.hi_child= E2_build_helper(node,flat_dimens,level,hi-(d-c),hi,gxl,gxh,gyl,gyh);/*:51*/#line 1321 "./kdtree.w"}else if(l<=h){/*50:*/#line 1343 "./kdtree.w"node->f.i.lo_child= E2_build_helper(node,flat_dimens,level,lo,lo+b-a,lxl,lxh,lyl,lyh);/*:50*/#line 1322 "./kdtree.w"/*51:*/#line 1347 "./kdtree.w"node->f.i.hi_child= E2_build_helper(node,flat_dimens,level,hi-(d-c),hi,gxl,gxh,gyl,gyh);/*:51*/#line 1322 "./kdtree.w"/*52:*/#line 1357 "./kdtree.w"node->f.i.eq_child= E2_build_helper(node,flat_dimens|(cutdimen+1),level,lo+b-a,hi-(d-c),exl,exh,eyl,eyh);/*:52*/#line 1322 "./kdtree.w"}else{/*51:*/#line 1347 "./kdtree.w"node->f.i.hi_child= E2_build_helper(node,flat_dimens,level,hi-(d-c),hi,gxl,gxh,gyl,gyh);/*:51*/#line 1323 "./kdtree.w"/*50:*/#line 1343 "./kdtree.w"node->f.i.lo_child= E2_build_helper(node,flat_dimens,level,lo,lo+b-a,lxl,lxh,lyl,lyh);/*:50*/#line 1323 "./kdtree.w"/*52:*/#line 1357 "./kdtree.w"node->f.i.eq_child= E2_build_helper(node,flat_dimens|(cutdimen+1),level,lo+b-a,hi-(d-c),exl,exh,eyl,eyh);/*:52*/#line 1323 "./kdtree.w"}}else{if(l<=h){/*52:*/#line 1357 "./kdtree.w"node->f.i.eq_child= E2_build_helper(node,flat_dimens|(cutdimen+1),level,lo+b-a,hi-(d-c),exl,exh,eyl,eyh);/*:52*/#line 1325 "./kdtree.w"/*50:*/#line 1343 "./kdtree.w"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av高清在线观看| 麻豆精品一区二区三区| 国产欧美va欧美不卡在线| 欧美岛国在线观看| 欧美一级一区二区| 精品区一区二区| 精品久久久久久久久久久院品网| 欧美电影一区二区| 精品国产精品网麻豆系列 | 亚洲色欲色欲www| 国产精品久久久久久久久动漫| 国产精品免费视频观看| 国产精品乱人伦中文| 亚洲男人天堂一区| 日韩av二区在线播放| 国产一区二区三区日韩| 成人一区二区三区在线观看| 成人av资源在线观看| 99精品国产99久久久久久白柏| 欧美在线制服丝袜| 精品国产乱码久久久久久免费| 国产三级欧美三级| 亚洲精品日韩综合观看成人91| 亚洲国产精品天堂| 黄色日韩网站视频| av激情亚洲男人天堂| 欧美三级三级三级| 亚洲精品在线观| 亚洲欧美一区二区不卡| 免费看精品久久片| jvid福利写真一区二区三区| 欧美日韩精品一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产欧美视频一区二区| 亚洲一区二区三区三| 国产一区在线看| 欧美日韩国产一级| 欧美激情综合网| 日本伊人午夜精品| av成人老司机| 久久女同精品一区二区| 一区二区免费看| 成人精品视频一区二区三区尤物| 欧美高清视频在线高清观看mv色露露十八| www久久精品| 久久99精品一区二区三区| 99re6这里只有精品视频在线观看| 欧美一区二区三区系列电影| 亚洲欧洲精品一区二区精品久久久 | 亚洲视频一区二区在线观看| 免费在线观看一区二区三区| 欧美在线一二三| 国产精品久久看| 国产真实乱偷精品视频免| 欧美日韩午夜在线视频| 亚洲综合色视频| 94-欧美-setu| 国产精品久久久久久久久果冻传媒 | 日本午夜精品一区二区三区电影| 一本久久a久久免费精品不卡| 久久精品日产第一区二区三区高清版| 免播放器亚洲一区| 欧美日韩国产三级| 亚洲不卡在线观看| 欧美日韩一区二区三区在线| 亚洲欧美激情插 | 岛国av在线一区| 久久久不卡影院| 国产一区二区三区四区在线观看| 精品国产一区二区三区久久久蜜月| 日韩精彩视频在线观看| 欧美二区在线观看| 日韩精品亚洲专区| 日韩一区二区三区高清免费看看| 日本va欧美va瓶| 欧美成人精品1314www| 精品一区二区三区在线视频| 精品久久久久香蕉网| 久久成人18免费观看| 久久先锋影音av鲁色资源网| 国产在线一区二区| 亚洲国产电影在线观看| 成人爱爱电影网址| 一级日本不卡的影视| 欧美精品在线观看一区二区| 日韩国产欧美视频| 亚洲精品一区二区在线观看| 国产精品伊人色| 国产精品乱码一区二区三区软件| 91香蕉视频黄| 偷拍与自拍一区| 欧美精品一区二区三| 国产999精品久久| 一区二区三区精品在线观看| 欧美精品在线观看播放| 加勒比av一区二区| 亚洲视频免费在线观看| 欧美丰满嫩嫩电影| 国产伦精品一区二区三区免费| 中文欧美字幕免费| 欧美日本精品一区二区三区| 激情小说亚洲一区| 亚洲同性同志一二三专区| 在线不卡a资源高清| 豆国产96在线|亚洲| 午夜不卡av免费| 国产欧美精品一区| 欧美日韩情趣电影| 高清久久久久久| 日韩av二区在线播放| 蜜桃av一区二区| 国产精品成人午夜| 日韩美女视频在线| 色婷婷精品大在线视频| 老司机精品视频一区二区三区| 中文字幕在线一区| 成人av影院在线| 精品在线观看免费| 无码av免费一区二区三区试看 | 一区精品在线播放| 日韩欧美在线影院| 91久久精品一区二区| 国产一区二区不卡| 亚洲午夜成aⅴ人片| 18成人在线观看| 久久久久久97三级| 欧美一级片在线| 欧美日韩专区在线| 91亚洲精品一区二区乱码| 懂色av一区二区夜夜嗨| 精品一区中文字幕| 日韩va欧美va亚洲va久久| 亚洲欧洲综合另类| 久久综合999| 91官网在线免费观看| 99久久久免费精品国产一区二区| 日本视频中文字幕一区二区三区| 亚洲国产一区二区在线播放| 亚洲美女在线一区| 一区二区三区日韩精品视频| 亚洲欧洲色图综合| 国产精品免费视频观看| 国产精品麻豆欧美日韩ww| 国产欧美精品国产国产专区 | 日韩一区二区电影网| 欧美性大战久久久久久久蜜臀 | 色哟哟国产精品免费观看| 高清免费成人av| 成人免费视频一区| 成人自拍视频在线| 成人av在线资源网站| 成人的网站免费观看| 91在线丨porny丨国产| 91丨国产丨九色丨pron| 日本高清视频一区二区| 欧美日韩精品系列| 日韩一级片网站| 久久奇米777| 中文一区二区在线观看| 中文字幕一区二区日韩精品绯色| 亚洲欧美偷拍另类a∨色屁股| 一区二区三区在线播放| 亚洲国产精品精华液网站| 日韩和欧美的一区| 国产精一品亚洲二区在线视频| 国产精品一区一区三区| 99riav久久精品riav| 欧美综合色免费| 日韩精品中文字幕一区| 国产午夜精品一区二区三区四区| 亚洲国产精品v| 一区二区三区不卡视频| 蜜桃免费网站一区二区三区| 国产高清不卡一区| 色呦呦国产精品| 精品国产一区二区亚洲人成毛片| 国产精品第13页| 亚洲成人久久影院| 国产aⅴ精品一区二区三区色成熟| 色婷婷综合久色| 欧美成人精品1314www| 国产精品不卡在线观看| 日韩电影在线一区二区| 国产精品系列在线播放| 91首页免费视频| 亚洲精品一区二区三区福利 | 亚洲第一福利一区| 国产一区二区三区四区五区入口 | 亚洲超碰精品一区二区| 国产成人在线视频网址| 欧美人与禽zozo性伦| www成人在线观看| 亚洲成av人片在线观看无码| 国产露脸91国语对白| 欧美日韩国产片| 亚洲精品视频观看| 高清成人免费视频| 欧美成人精品福利| 天堂久久久久va久久久久| 91美女在线看|