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

隨筆-21  評(píng)論-10  文章-21  trackbacks-0
圓的離散化。
這道題是依次往墻上涂圓,后涂的會(huì)覆蓋前涂的。統(tǒng)計(jì)有多少圓能看見(jiàn)。
取所有圓的左右極點(diǎn),交點(diǎn)的x軸坐標(biāo)離散,這樣每一個(gè)單位豎條要么和圓不相交,要么被圓跨立(或相切),然后每個(gè)豎條完全可以抽象成矩形

  1 #include<iostream>
  2 #include<cstring>
  3 #include<set>
  4 #include<vector>
  5 #include<cmath>
  6 #include<algorithm>
  7 using namespace std;
  8 
  9 #define eps 1e-13
 10 struct point{double x,y;};
 11 struct node{
 12     double y; int id, flag;
 13     bool operator<(const node & a)const
 14     {
 15         return y < a.y;
 16     }
 17 };
 18 
 19 int dcmp( double x){return x < -eps ? -1 : x > eps; }
 20 
 21 double Dis(point p1,point p2){
 22     return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
 23 }
 24 
 25 point intersection(point u1,point u2,point v1,point v2){
 26     point ret=u1;
 27     double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))
 28             /((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));
 29     ret.x+=(u2.x-u1.x)*t;
 30     ret.y+=(u2.y-u1.y)*t;
 31     return ret;
 32 }
 33 
 34 void intersection_line_circle(point c,double r,point l1,point l2,point& p1,point& p2){
 35     point p=c;
 36     double t;
 37     p.x+=l1.y-l2.y;
 38     p.y+=l2.x-l1.x;
 39     p=intersection(p,c,l1,l2);
 40     t=sqrt(r*r-Dis(p,c)*Dis(p,c))/Dis(l1,l2);
 41     p1.x=p.x+(l2.x-l1.x)*t;
 42     p1.y=p.y+(l2.y-l1.y)*t;
 43     p2.x=p.x-(l2.x-l1.x)*t;
 44     p2.y=p.y-(l2.y-l1.y)*t;
 45 }
 46 
 47 void intersection_circle_circle(point c1,double r1,point c2,double r2,point& p1,point& p2){
 48     point u,v;
 49     double t;
 50     t=(1+(r1*r1-r2*r2)/Dis(c1,c2)/Dis(c1,c2))/2;
 51     u.x=c1.x+(c2.x-c1.x)*t;
 52     u.y=c1.y+(c2.y-c1.y)*t;
 53     v.x=u.x+c1.y-c2.y;
 54     v.y=u.y-c1.x+c2.x;
 55     intersection_line_circle(c1,r1,u,v,p1,p2);
 56 }
 57 
 58 
 59 
 60 int n;
 61 point p[128];
 62 double r[128];
 63 bool view[128];
 64 vector<double> distinc;
 65 
 66 void get_distinc(){
 67     distinc.clear();
 68     for(int i = 0 ; i < n; i++)
 69     {
 70         distinc.push_back(p[i].x + r[i]);
 71         distinc.push_back(p[i].x - r[i]);
 72     }
 73     point p1, p2;
 74     for(int i = 0 ; i < n; i++)
 75         for(int j = i+1; j < n; j++)
 76             if( Dis(p[i], p[j]) <= r[i] + r[j] ){
 77                 intersection_circle_circle(p[i], r[i], p[j], r[j], p1, p2);
 78                 distinc.push_back(p1.x);
 79                 distinc.push_back(p2.x);
 80             }
 81    sort(distinc.begin(), distinc.end() );
 82 }
 83 
 84 
 85 
 86 
 87 void gao(double xx){
 88     set<int> ID;
 89     vector<node> C;
 90     node tem;
 91     for(int i = 0; i < n; i++)
 92     {
 93         if( fabs(p[i].x - xx) > r[i] )continue;
 94         double d = sqrt( r[i]*r[i] - (p[i].x - xx)*(p[i].x - xx) );
 95         tem.id = -i;
 96         tem.y = p[i].y - d;
 97         tem.flag = 0;
 98         C.push_back(tem);
 99         tem.y = p[i].y + d;
100         tem.flag = 1;
101         C.push_back(tem);
102     }
103     sort(C.begin(), C.end() );
104     for(int i = 0; i < C.size(); i++){
105         if(ID.size() != 0)view[ -*ID.begin() ) ] = true;
106         if(C[i].flag==0)ID.insert(C[i].id); else ID.erase(C[i].id);
107         if(ID.size() != 0)view[ -*ID.begin() ) ] = true;
108     }
109 }
110 
111 int main(){
112     //freopen("in","r",stdin);
113     while(scanf("%d"& n)!=EOF && n){
114         for(int i = 0; i < n; i++)
115             scanf("%lf %lf %lf",&p[i].x, &p[i].y, &r[i]);
116         memset(view, falsesizeof(view) );
117         get_distinc();
118         for(int i = 1; i < distinc.size(); i++){
119             if( dcmp(distinc[i-1- distinc[i])==0)continue;
120             gao( (distinc[i-1+ distinc[i])/2 );
121         }
122         int ans = 0;
123         for(int i = 0; i < n; i++)ans += view[i];
124         printf("%d\n",ans);
125     }
126 }


posted on 2009-11-02 21:38 wangzhihao 閱讀(308) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): geometry
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲免费在线| 亚洲六月丁香色婷婷综合久久| 日韩一级不卡| 国产在线视频欧美| 国产精品激情电影| 欧美精品成人一区二区在线观看| 欧美一级视频精品观看| 一区二区三区四区蜜桃| 亚洲国产日韩欧美一区二区三区| 久久九九国产精品怡红院| 亚洲专区欧美专区| 日韩系列欧美系列| 亚洲国内自拍| 在线观看久久av| 国产午夜精品久久久久久久| 国产精品jizz在线观看美国 | 亚洲美女av电影| 禁久久精品乱码| 国产日韩欧美不卡| 国产精品免费一区二区三区在线观看 | 99视频精品在线| 欧美黄色一区二区| 老色鬼精品视频在线观看播放| 午夜久久黄色| 午夜精品久久久久久久久久久| 一区二区三区高清在线观看| 亚洲伦伦在线| 亚洲久久视频| 日韩系列欧美系列| 一区二区电影免费观看| 亚洲免费观看| 在线视频你懂得一区二区三区| 亚洲每日在线| 在线综合亚洲欧美在线视频| 制服丝袜激情欧洲亚洲| 亚洲天堂成人| 午夜亚洲性色福利视频| 欧美一区二区三区成人| 欧美一区二区三区在线观看视频| 欧美在线观看日本一区| 久久精品91久久久久久再现| 久久xxxx精品视频| 久久久久高清| 免费视频久久| 欧美大秀在线观看| 亚洲国产另类久久久精品极度 | 亚洲欧美大片| 亚洲欧美国产三级| 午夜在线成人av| 久久精品在线免费观看| 久久亚洲精品一区| 欧美精品一区在线观看| 国产精品久久二区二区| 国产日韩精品一区二区三区在线 | 亚洲欧美成人一区二区在线电影| 欧美亚洲免费在线| 久久这里有精品15一区二区三区| 欧美国产成人精品| 日韩视频不卡中文| 午夜精品偷拍| 欧美承认网站| 国产精品一区二区三区免费观看| 国产在线乱码一区二区三区| 最新国产の精品合集bt伙计| 亚洲视频一区二区| 久久久www免费人成黑人精品| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美不卡一区| 国产精品国产自产拍高清av| 红桃视频亚洲| 一本色道久久综合亚洲精品婷婷| 小处雏高清一区二区三区| 老司机精品导航| 99国内精品| 久久高清国产| 欧美日韩福利在线观看| 国产午夜精品美女视频明星a级| 亚洲国产电影| 亚洲欧美激情精品一区二区| 美日韩精品免费| 在线视频亚洲| 免费成人av在线| 国产精品日本精品| 亚洲青涩在线| 久久久噜噜噜| 在线综合+亚洲+欧美中文字幕| 久久先锋资源| 国产精品一级二级三级| 亚洲美女视频| 麻豆国产精品一区二区三区| 亚洲一区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 欧美性开放视频| 亚洲精品一区在线| 久久久久久久999| 在线亚洲精品| 欧美激情精品久久久久久黑人| 国产一区二区av| 亚洲影院色在线观看免费| 欧美成人高清| 欧美中文在线免费| 国产精品久久久久影院亚瑟| 亚洲美女中出| 欧美成人午夜免费视在线看片| 午夜精品久久久久久久99樱桃| 欧美日韩国产成人在线免费| 亚洲国产精品ⅴa在线观看| 欧美亚洲免费电影| 一区二区福利| 欧美日韩亚洲三区| 亚洲美女区一区| 亚洲国产成人精品女人久久久 | 9久草视频在线视频精品| 久久午夜国产精品| 亚洲欧美日韩精品久久亚洲区 | 在线视频你懂得一区| 亚洲国产精品t66y| 久热精品在线| 在线精品观看| 蜜桃av一区| 久久久久久一区| 激情成人av| 美女主播精品视频一二三四| 性娇小13――14欧美| 国产美女诱惑一区二区| 亚洲免费中文| 亚洲一区二区三区精品视频| 国产精品久久久久毛片软件 | 亚洲精品在线电影| 欧美刺激性大交免费视频 | 一区二区欧美日韩| 亚洲日本成人女熟在线观看| 欧美精品午夜| 亚洲视频一二区| 一区二区三区四区在线| 国产精品红桃| 欧美在线三级| 久久国产福利国产秒拍| 国内精品久久久久国产盗摄免费观看完整版| 欧美在线视频观看免费网站| 欧美一区二区三区在| 韩日成人在线| 女生裸体视频一区二区三区 | 国产午夜精品久久| 久久伊伊香蕉| 美女啪啪无遮挡免费久久网站| 亚洲精品一区在线观看| 日韩视频在线永久播放| 国产精品日韩高清| 久久青草久久| 免费成人高清| 亚洲一区在线观看免费观看电影高清| 亚洲一区二区三区中文字幕在线| 国产亚洲激情视频在线| 嫩草影视亚洲| 欧美日韩美女| 久久精品99无色码中文字幕| 美女精品视频一区| 亚洲午夜一区二区| 欧美专区日韩视频| 91久久视频| 亚洲自啪免费| 在线看片第一页欧美| 亚洲精品久久久一区二区三区| 国产精品家庭影院| 美女日韩在线中文字幕| 欧美日韩精品免费观看视一区二区 | 亚洲国产女人aaa毛片在线| 亚洲精品乱码久久久久久| 国产精品一页| 亚洲第一精品夜夜躁人人躁| 国产精品99一区二区| 蜜桃av一区二区在线观看| 欧美日韩一区二区三区四区五区| 久久精品国产免费观看| 欧美日本乱大交xxxxx| 久久精品91| 欧美日韩国产在线播放网站| 久久久免费av| 欧美日韩一区不卡| 蜜桃av一区二区三区| 国产精品美女www爽爽爽| 欧美成ee人免费视频| 国产麻豆一精品一av一免费| 欧美韩日一区二区三区| 国产美女精品免费电影| 亚洲国产一区在线观看| 韩日欧美一区二区| 宅男精品导航| 亚洲免费观看高清完整版在线观看| 午夜宅男久久久| 亚洲网站啪啪| 欧美成人午夜激情在线| 久久久青草青青国产亚洲免观| 欧美视频官网| 亚洲国产欧美另类丝袜| 黄网站免费久久| 午夜久久一区| 亚洲欧美日韩成人高清在线一区| 欧美国产精品|