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

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

  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) 評論(0)  編輯 收藏 引用 所屬分類: 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>
            亚洲综合视频1区| 欧美一区二区免费观在线| 欧美成人精品不卡视频在线观看| 亚洲男同1069视频| 国产欧美三级| 久久av老司机精品网站导航| 午夜精品久久久久久久99樱桃| 国产精品一区二区你懂的| 久久精品夜色噜噜亚洲aⅴ| 欧美影片第一页| 一区二区亚洲欧洲国产日韩| 麻豆国产精品va在线观看不卡| 久久女同互慰一区二区三区| 亚洲欧洲精品一区二区三区不卡| 欧美激情第六页| 欧美日韩中文在线| 久久久久久高潮国产精品视| 欧美α欧美αv大片| 亚洲女人天堂av| 久久久精品网| 亚洲视频在线观看免费| 欧美一区二区视频网站| 黄色成人在线免费| 亚洲日本中文字幕区| 国产精品美女一区二区| 欧美成人按摩| 国产精品老牛| 亚洲高清av| 国产一区欧美| 亚洲精选一区| 伊人久久噜噜噜躁狠狠躁 | 国产一区二区日韩精品| 亚洲第一福利在线观看| 国产精品欧美一区二区三区奶水| 欧美高清在线视频| 国产精品自拍视频| 欧美激情a∨在线视频播放| 国产女主播在线一区二区| 亚洲国产视频a| 国模私拍视频一区| 99国产精品久久久久老师| 精品91免费| 亚洲欧美一区二区三区在线| 夜夜嗨av一区二区三区中文字幕| 久久国产综合精品| 午夜精品99久久免费| 欧美黄色一级视频| 欧美成在线观看| 黄色成人免费观看| 午夜一级在线看亚洲| 亚洲综合色婷婷| 欧美日本韩国一区二区三区| 欧美大成色www永久网站婷| 国产日韩专区| 亚洲欧美福利一区二区| 亚洲午夜视频在线| 欧美人妖另类| 最新国产成人av网站网址麻豆| 在线精品视频一区二区三四| 久久成人一区二区| 久久福利视频导航| 国产毛片一区二区| 午夜天堂精品久久久久| 欧美在线播放| 国产三级欧美三级日产三级99| 亚洲婷婷国产精品电影人久久| 亚洲一区免费看| 国产精品视频一二三| 亚洲主播在线观看| 欧美在线免费播放| 国产视频久久| 久久精品人人做人人爽| 久久国内精品视频| 国产一区在线观看视频| 久久av免费一区| 女生裸体视频一区二区三区| 亚洲二区视频在线| 欧美精品日韩三级| 一区二区日韩| 久久久91精品国产一区二区三区| 国产日韩欧美在线| 久久久国产精品亚洲一区 | 性久久久久久久久| 国产免费观看久久黄| 欧美在线国产| 欧美v日韩v国产v| 亚洲精品亚洲人成人网| 欧美日韩一二三区| 午夜精品一区二区三区在线播放 | 亚洲国产综合91精品麻豆| 欧美国产先锋| 宅男66日本亚洲欧美视频| 久久精品一区四区| 亚洲美女色禁图| 国产精品视频专区| 麻豆精品传媒视频| 在线一区二区三区四区| 久久人人爽国产| 一本大道久久a久久精品综合| 欧美性jizz18性欧美| 久久黄金**| 夜夜夜久久久| 榴莲视频成人在线观看| 在线亚洲高清视频| 国产有码一区二区| 欧美日本在线视频| 久久久久久9| 一区二区三区四区在线| 蜜臀久久久99精品久久久久久| 99热这里只有精品8| 极品尤物一区二区三区| 欧美日韩国产专区| 久久一区二区精品| 亚洲免费视频一区二区| 亚洲国内在线| 美女被久久久| 午夜精品一区二区三区电影天堂| 在线成人www免费观看视频| 国产精品国产自产拍高清av王其| 久久久精品午夜少妇| 亚洲在线观看免费视频| 亚洲韩国青草视频| 久久手机精品视频| 欧美一区二区在线免费播放| 亚洲精品欧美极品| 在线看欧美视频| 国产日韩一区在线| 国产精品网站在线播放| 欧美三级午夜理伦三级中文幕| 久久综合激情| 久久精品91久久久久久再现| 亚洲视频精选在线| 亚洲精品美女免费| 亚洲国产欧洲综合997久久| 久久这里有精品视频| 久久久99爱| 欧美一区三区二区在线观看| 亚洲一区二区在线播放| 亚洲一区bb| 亚洲一区二区在线视频| 亚洲一区二区三区视频播放| 亚洲精品婷婷| 日韩视频在线一区二区三区| 亚洲精品日本| 亚洲精品视频免费| 99综合在线| 一卡二卡3卡四卡高清精品视频 | 欧美日韩亚洲一区二区三区在线观看 | 欧美gay视频| 美女露胸一区二区三区| 久久伊人亚洲| 免费不卡在线视频| 欧美激情视频网站| 亚洲国产一区二区三区青草影视 | 性欧美大战久久久久久久久| 亚洲欧美日本国产有色| 性欧美大战久久久久久久免费观看 | 韩国免费一区| 亚洲第一视频| 夜色激情一区二区| 亚洲一区二区高清视频| 亚洲综合国产| 久久精品久久综合| 另类av导航| 亚洲欧洲精品一区| 在线亚洲高清视频| 欧美一区二区免费| 麻豆freexxxx性91精品| 欧美日韩国产美女| 国产精品久久久久99| 国产午夜精品在线| 亚洲国产精品福利| 中文国产亚洲喷潮| 久久久久久电影| 欧美激情二区三区| 一区二区欧美精品| 久久久久九九视频| 欧美日韩一区在线播放| 国产一区欧美| 亚洲香蕉网站| 久热国产精品| 夜夜嗨av一区二区三区中文字幕| 欧美一区二区黄| 欧美久久综合| 国内成+人亚洲+欧美+综合在线| 最新成人av在线| 欧美亚洲一区二区在线| 亚洲国产成人久久综合一区| 亚洲一区二区三区四区五区午夜 | 久久精品综合| 欧美视频中文一区二区三区在线观看| 国产亚洲aⅴaaaaaa毛片| aa日韩免费精品视频一| 久久婷婷色综合| 一区二区三区精品视频| 久久精品视频在线观看| 国产精品国产福利国产秒拍| 亚洲精品1区2区| 久久色在线观看| 亚洲午夜视频在线|