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

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

  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 閱讀(304) 評論(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>
            久久全球大尺度高清视频| 亚洲欧美日韩系列| 久久久精品国产免大香伊| 亚洲国产一区在线| 伊人久久成人| 樱花yy私人影院亚洲| 黄色在线成人| 亚洲伦理自拍| 艳妇臀荡乳欲伦亚洲一区| 99国产一区| 久久久蜜桃一区二区人| 久久女同互慰一区二区三区| 久久婷婷激情| 亚洲人成人一区二区三区| 久久久久国产精品麻豆ai换脸| 美女诱惑黄网站一区| 国产精品久久一区二区三区| 国产精品一区视频| 亚洲人成77777在线观看网| 亚洲精品日韩在线| 久久―日本道色综合久久| 亚洲电影视频在线| 久久精品在线免费观看| 欧美日韩国产综合一区二区| 国产精品啊啊啊| 亚洲欧洲精品一区二区| 久久久www免费人成黑人精品 | 国产美女诱惑一区二区| 欧美图区在线视频| 亚洲福利免费| 久久亚洲一区二区三区四区| 一本一本久久a久久精品牛牛影视| 久久在线观看视频| 国产一区二区三区电影在线观看| 亚洲人午夜精品免费| 欧美激情精品久久久久久久变态| 欧美一区在线看| 国语自产精品视频在线看一大j8 | 红桃av永久久久| 性欧美video另类hd性玩具| 一本色道久久综合亚洲精品小说 | 亚洲国产午夜| 美脚丝袜一区二区三区在线观看 | 亚洲欧洲精品一区二区| 麻豆av一区二区三区| 鲁大师成人一区二区三区| 在线免费一区三区| 日韩午夜av| 狠狠v欧美v日韩v亚洲ⅴ| 欧美激情黄色片| 国产精品网站一区| 亚洲国产91色在线| 国产精品成人一区二区三区吃奶| 久久国产精品99精品国产| 翔田千里一区二区| 一本久道久久综合中文字幕 | 一区二区精品| 久久国产高清| 午夜精品久久久久久久99黑人| 欧美一级大片在线观看| 99国产精品国产精品毛片| 午夜天堂精品久久久久| 亚洲麻豆一区| 久久夜色精品一区| 久久综合给合| 亚洲私人影院| 老鸭窝91久久精品色噜噜导演| 美女成人午夜| 欧美成人精品1314www| 好男人免费精品视频| 亚洲精品社区| 欧美88av| 麻豆国产精品va在线观看不卡| 国产精品久久久久久久久久尿| 亚洲国产精品精华液网站| 在线观看欧美| 快播亚洲色图| 亚洲精品视频一区| 一二美女精品欧洲| 欧美日韩一区二区三| 亚洲最新在线| 久久精品亚洲| 影音先锋亚洲一区| 欧美老女人xx| 一区二区三区四区国产| 久久精品一本久久99精品| 黑人巨大精品欧美一区二区| 欧美一级视频一区二区| 久久久人成影片一区二区三区观看 | 亚洲性人人天天夜夜摸| 亚洲午夜一级| 亚洲欧美电影院| 亚洲国产高清视频| 亚洲伊人观看| 亚洲国产精品高清久久久| 欧美日韩精品在线视频| 久久伊人亚洲| 亚洲视频精品| 亚洲免费av片| 欧美福利一区| 免播放器亚洲| 久久蜜桃av一区精品变态类天堂| 亚洲电影自拍| 在线日韩电影| 极品少妇一区二区| 欧美精品一区二区三区很污很色的 | 久久一区二区精品| 亚洲综合另类| 最新精品在线| 欧美a级一区| 美女日韩欧美| 久久亚洲捆绑美女| 久久久久久香蕉网| 欧美在线|欧美| 久久国产精品久久久久久| 亚洲视频精品| 亚洲精品国精品久久99热一| 国产精品一级| 狠狠色狠狠色综合日日91app| 欧美一区二区三区免费在线看| 精品99一区二区| 中日韩美女免费视频网站在线观看| 一区精品在线| 亚洲国产第一页| 日韩一区二区福利| 久久九九免费| 久久精品国产欧美亚洲人人爽| 久久久国产91| 亚洲美女av在线播放| 99热精品在线| 欧美fxxxxxx另类| 国产午夜精品久久久| 午夜免费电影一区在线观看| 亚洲国产女人aaa毛片在线| 亚洲欧美韩国| 国产精品久久久久久妇女6080| 亚洲区在线播放| 老司机精品导航| 欧美成人资源网| 久久影院亚洲| 久久riav二区三区| 国内精品模特av私拍在线观看| 一区二区三区四区五区精品视频| 亚洲一区在线免费观看| 一区二区日韩| 国产精品chinese| 欧美一级大片在线观看| 亚洲午夜久久久久久久久电影院 | 亚洲女爱视频在线| 99精品国产高清一区二区| 久久久91精品国产| 亚洲国产你懂的| 亚洲国产精品一区二区www在线| 欧美一区久久| 黄色成人在线网址| 亚洲美女性视频| 亚洲国产日韩欧美一区二区三区| av不卡在线看| 亚洲精品九九| 男人天堂欧美日韩| 欧美高清视频| 亚洲视频在线观看网站| 亚洲一区精品在线| 国产一区二区三区网站| 欧美成人免费小视频| 欧美激情一区二区三区在线| 亚洲桃色在线一区| 久久久av毛片精品| 亚洲精品一区二区三区不| 亚洲欧洲另类| 国产日韩在线亚洲字幕中文| 亚洲欧洲日韩在线| 亚洲激情小视频| 国产精品视频午夜| 牛牛精品成人免费视频| 国产精品毛片高清在线完整版| 久久一二三四| 国产精品捆绑调教| 亚洲精品久久久久久久久久久久久 | 亚洲大片免费看| 99伊人成综合| 日韩亚洲不卡在线| 久久视频这里只有精品| 欧美专区亚洲专区| 国产精品日韩久久久| 一区二区高清| 亚洲欧美日韩综合国产aⅴ| 欧美日本中文字幕| 欧美护士18xxxxhd| 亚洲人体1000| 欧美日韩亚洲一区二区三区在线| 欧美电影免费观看高清| 在线精品亚洲| 免费成人av在线| 麻豆精品精华液| 激情欧美一区| 欧美乱在线观看| 亚洲专区一区| 久久久久久电影| 亚洲黄色性网站|