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

隨筆-21  評論-10  文章-21  trackbacks-0
圓的離散化。
這道題是依次往墻上涂圓,后涂的會覆蓋前涂的。統(tǒng)計(jì)有多少圓能看見。
取所有圓的左右極點(diǎn),交點(diǎn)的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>
            性欧美xxxx视频在线观看| 激情久久一区| 久久大综合网| 亚洲伊人网站| 亚洲图片在线观看| 亚洲精品乱码| 欧美成人激情视频| 快播亚洲色图| 欧美激情在线观看| 亚洲国产精品综合| 一区二区久久久久久| 亚洲天堂免费在线观看视频| 亚洲手机成人高清视频| 先锋资源久久| 久久躁日日躁aaaaxxxx| 欧美国产第二页| 美女视频一区免费观看| 亚洲一区二区动漫| 午夜亚洲激情| 久久久之久亚州精品露出| 美国十次成人| 亚洲理论在线| 欧美亚洲视频在线观看| 麻豆精品视频在线观看| 欧美精品一级| 国产视频在线观看一区二区三区| 国产亚洲免费的视频看| 亚洲欧洲精品一区二区三区不卡| 亚洲一本大道在线| 玖玖国产精品视频| aa级大片欧美| 久久婷婷国产综合精品青草| 欧美视频在线观看| 久久久一区二区| 欧美日韩视频一区二区三区| 国产综合自拍| 亚洲婷婷在线| 欧美二区不卡| 欧美一级久久久久久久大片| 欧美日本高清一区| 在线精品国产欧美| 欧美在线观看www| 日韩视频在线一区二区| 久久久综合激的五月天| 国产精品毛片va一区二区三区 | 欧美不卡一区| 国产欧美精品一区| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩一二三四五区| 尹人成人综合网| 亚洲欧美日韩高清| 亚洲韩国精品一区| 久久久久国色av免费看影院| 国产精品―色哟哟| 99视频+国产日韩欧美| 欧美成年人视频网站| 欧美一区二区三区精品电影| 欧美视频一区在线| 一区二区欧美日韩视频| 亚洲福利专区| 免费精品99久久国产综合精品| 国产日韩一区欧美| 久久成人综合网| 久久免费一区| 午夜精品久久久久久久99樱桃| 国产精品成人免费视频 | 欧美日韩成人一区| 久久久久久9999| 国产亚洲精品一区二555| 香蕉久久一区二区不卡无毒影院| 亚洲精品欧美激情| 欧美日韩精品久久| 一本色道久久综合亚洲二区三区| 亚洲国产天堂久久综合| 欧美成人蜜桃| 日韩一本二本av| 亚洲精品三级| 欧美四级在线| 欧美一级欧美一级在线播放| 亚洲影视九九影院在线观看| 国产伦精品一区二区三区照片91 | 亚洲少妇诱惑| 99精品欧美一区二区蜜桃免费| 欧美日韩伦理在线| 亚洲欧美日韩综合| 欧美亚洲一级片| 在线精品国产欧美| 亚洲欧洲一区| 国产精品美女久久久久aⅴ国产馆| 性久久久久久| 久久久久久久久久久成人| 亚洲国产专区校园欧美| 亚洲理伦电影| 国一区二区在线观看| 亚洲大胆在线| 国产精品视频男人的天堂| 麻豆av福利av久久av| 欧美精品久久99| 国内免费精品永久在线视频| 亚洲福利视频网| 国产精品三区www17con| 欧美www视频在线观看| 欧美日韩成人免费| 久久亚洲不卡| 欧美日韩卡一卡二| 久久亚洲精品欧美| 欧美日韩综合视频网址| 久久婷婷国产综合尤物精品| 欧美丰满高潮xxxx喷水动漫| 午夜精品理论片| 蜜臀av性久久久久蜜臀aⅴ四虎 | 在线观看成人小视频| 一区二区三区欧美在线观看| 樱花yy私人影院亚洲| 正在播放欧美一区| 亚洲国产日韩欧美在线动漫 | 美女精品在线观看| 香蕉精品999视频一区二区| 蜜桃久久精品乱码一区二区| 久久久久国产成人精品亚洲午夜| 欧美久久久久免费| 免费在线欧美黄色| 黄色工厂这里只有精品| 久久久午夜精品| 亚洲午夜久久久久久久久电影院| 亚洲精品小视频在线观看| 国产精品久久午夜| 欧美激情在线有限公司| 国产亚洲一区在线| 亚洲一区国产精品| 一本久道久久综合中文字幕| 久久久久久久97| 久久久久久久999| 国产精品一二三四区| 一区二区高清视频在线观看| 99pao成人国产永久免费视频| 免费成人美女女| 欧美国产日韩在线观看| 尤物九九久久国产精品的分类| 久久超碰97中文字幕| 久久精品国产清高在天天线| 国产日韩欧美日韩| 香蕉久久一区二区不卡无毒影院 | 亚洲国产精品va在线看黑人| 欧美一区二区精美| 亚洲欧美激情精品一区二区| 欧美日本中文字幕| 亚洲字幕在线观看| 欧美少妇一区| 亚洲国产精品一区二区www| 在线精品视频一区二区| 欧美一区二视频| 欧美一区二区三区四区视频| 欧美视频一区在线| 亚洲一区在线观看免费观看电影高清| 日韩一级在线观看| 欧美高清视频在线播放| 免费看成人av| 国产精品国产三级国产普通话蜜臀 | 亚洲第一二三四五区| 性感少妇一区| 影音先锋亚洲精品| 久久精品人人爽| 久久久精品国产免大香伊| 国产视频一区欧美| 欧美国产一区在线| 亚洲人人精品| 中国亚洲黄色| 欧美性生交xxxxx久久久| 欧美亚洲一级| 久久久水蜜桃| 亚洲国产高清一区二区三区| 另类图片国产| 久久久亚洲精品一区二区三区| 亚洲激情在线观看视频免费| 毛片av中文字幕一区二区| 欧美成人一区二区| 一区二区国产在线观看| 国产精品免费一区二区三区在线观看 | 中国成人亚色综合网站| 亚洲视频在线观看视频| 好看的日韩av电影| 久久精品一区二区三区四区| 裸体一区二区三区| 99在线热播精品免费| 久久精品国产第一区二区三区最新章节 | 午夜精彩视频在线观看不卡| 国内精品99| 欧美激情亚洲| 亚洲一区精品电影| 中国女人久久久| 日韩一区二区免费看| 国产欧美日韩一区二区三区| 久久色中文字幕| 亚洲欧洲免费视频| 久久在线免费观看视频| 99精品国产热久久91蜜凸| 国产一区二区剧情av在线| 欧美国产精品一区| 久久久www免费人成黑人精品|