日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 3660. 【SHTSC2014】信号增幅仪

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 3660. 【SHTSC2014】信号增幅仪 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

無線網絡基站在理想狀況下有效信號覆蓋范圍是個圓形。而無線基站的功耗與圓的半徑的平方成正比。現給出平面上若干網絡用戶的位置,請你選擇一個合適的位置建設無線基站 ……

就在你拿起鍵盤準備開始敲代碼的時候,你的好朋友發明家SHTSC突然出現了。SHTSC剛剛完成了他的新發明——無線信號增幅儀。增幅儀能夠在不增加無線基站功耗的前提下,使得有效信號的覆蓋范圍在某一特定方向上伸長若干倍。即:使用了增幅儀的無線基站覆蓋范圍是個橢圓,其功耗正比于半短軸長的平方。

現給出平面上若干網絡用戶的位置,請你選擇一個合適的位置建設無線基站,并在增幅儀的幫助下使所有的用戶都能接收到信號,且無線基站的功耗最小。

注意:由于SHTSC增幅儀的工作原理依賴地磁場,增幅的方向是恒定的。

Input

第一行一個整數:n。平面內的用戶個數。

之后的n行每行兩個整數x, y,表示一個用戶的位置。

第n+2行一個整數:a。表示增幅儀的增幅方向,單位是度。表示增幅儀的方向是從x正方向逆時針轉a度。

第n+3行一個整數:p。表示增幅儀的放大倍數。

Output

輸出一行一個實數,為能夠覆蓋所有用戶的最小橢圓的半短軸長,四舍五入到三位小數。

Sample Input

輸入1:

2

1 0

-1 0

0

2

輸入2:

3

1 1

-1 -1

0 0

45

7

Sample Output

輸出1:

0.500

輸出2:

0.202

Data Constraint

對于10%的數據,保證最優方案的中心在原點。

對于20%的數據,保證點是隨機生成的。

對于30%的數據,n≤100。

對于50%的數據,n≤5000。

對于100%的數據,n≤50000,0≤a<180,1≤p≤100,|x|,|y|≤2×10^8。

Solution

  • 發現被拉長的“橢圓”和角度問題導致我們很難去統計答案。

  • 考慮簡化它!

  • 我們可以將角度 a 轉正,再將每個點的縱坐標縮小 p 倍。

  • 新的點的坐標可以通過三角函數的運算得出(畫個圖很好理解)。

  • 這樣就可以用一個正常的圓來覆蓋這些點了,經典的最小圓覆蓋問題。

  • 現將點隨機順序,枚舉每個點,在當前圓內就不管它。

  • 若超出當前圓,則說明該點在新圓的邊上。

  • 以兩點連線的中點作為新的圓的圓心,再繼續枚舉點。

  • 若還是超出,則說明該點也在新圓的邊上。

  • 此時有三個點都在圓的邊上,“三點確定一個圓”。

  • 作出兩條中垂線,再求其交點即可。

  • 神奇的是,看上去是三重循環,但可證其時間復雜度是 O(N) 的。

Code

#include<cstdio> #include<algorithm> #include<cmath> #include<cctype> using namespace std; const int N=50005; const double Pi=acos(-1); struct node {double x,y; }a[N],t,O; double R; inline int read() {int X=0,w=0; char ch=0;while(!isdigit(ch)) w|=ch=='-',ch=getchar();while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X; } inline double sqr(double x) {return x*x; } inline double dist(node x,node y) {return sqrt(sqr(x.x-y.x)+sqr(x.y-y.y)); } inline bool incircle(node x) {return dist(O,x)<=R; } inline node midpoint(node x,node y) {t.x=(x.x+y.x)/2.0;t.y=(x.y+y.y)/2.0;return t; } inline void get(double &x,double &y,double &z,node xx,node yy) {if(xx.y==yy.y){x=1.0,y=0.0,z=-(xx.x+yy.x)/2.0;}elseif(xx.x==yy.x){x=0.0,y=1.0,z=-(xx.y+yy.y)/2.0;}else{t=midpoint(xx,yy);double k=-1.0/((xx.y-yy.y)*1.0/(xx.x-yy.x));x=k,y=-1.0,z=t.y-k*t.x;} } inline node work(node xx,node yy,node zz) {double a1=0,b1=0,c1=0,a2=0,b2=0,c2=0;get(a1,b1,c1,xx,yy);get(a2,b2,c2,yy,zz);t.y=-(a2*c1-a1*c2)/(b1*a2-b2*a1);t.x=(-c1-b1*t.y)/a1;return t; } int main() {int n=read();for(int i=1;i<=n;i++) a[i].x=read(),a[i].y=read();double d=read()/180.0*Pi,p=read();if(!d){for(int i=1;i<=n;i++){swap(a[i].x,a[i].y);a[i].x=-a[i].x;a[i].y=a[i].y*1.0/p;}}elseif(d==Pi/2.0){for(int i=1;i<=n;i++) a[i].y=a[i].y*1.0/p;}else{double si=sin(d),co=cos(d),ta=tan(d);for(int i=1;i<=n;i++){double z=a[i].x-a[i].y/ta;t.x=z*si;t.y=a[i].y/si+z*co;t.y=t.y*1.0/p;a[i]=t;}}random_shuffle(a+1,a+1+n);for(int i=1;i<=n;i++)if(!incircle(a[i])){O=a[i],R=0;for(int j=1;j<i;j++)if(!incircle(a[j])){O=midpoint(a[i],a[j]);R=dist(O,a[i]);for(int k=1;k<j;k++)if(!incircle(a[k])){O=work(a[i],a[j],a[k]);R=dist(O,a[i]);}}}printf("%.3lf",R);return 0; }

總結

以上是生活随笔為你收集整理的JZOJ 3660. 【SHTSC2014】信号增幅仪的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日操夜夜草 | 国产精品看片 | 日韩免费看 | 手机av免费观看 | www.av在线播放| 国产又粗又猛又黄又爽的视频 | 欧美午夜精品一区二区蜜桃 | 中文字幕一区二区免费 | 67194国产 | 婷婷资源网 | 小说肉肉视频 | 在线一区二区视频 | 久久精品国产av一区二区三区 | av影音先锋 | 中文久久久 | 亚洲国产第一区 | 希岛婚前侵犯中文字幕在线 | 国产精品人人爽人人爽 | 久久久久亚洲AV成人网人人小说 | 黄色小视频国产 | 亚洲精品日韩精品 | 免费在线看污片 | 日本免费精品视频 | 美女视频一区 | 欧美一区二区三区网站 | 国产精品久久久久久人妻精品动漫 | 爱逼av| 男生舔女生胸 | 最近的中文字幕 | 国产欧美a | 亚洲精品一区中文字幕乱码 | 国产视频在线观看免费 | xxxx在线播放 | 熟女高潮一区二区三区 | 亚洲精选一区二区 | 久久高清一区 | 蜜桃精品在线观看 | 欧美a级成人淫片免费看 | 色眯眯影院 | 中文在线观看免费视频 | 国产精品久久久久久亚洲调教 | 人人妻人人玩人人澡人人爽 | 色哟哟导航 | 你懂的在线观看网站 | heyzo久久 | 啦啦啦av | 欧美三日本三级少妇三 | 久久亚洲精华国产精华液 | 小泽玛丽亚在线观看 | 视频在线观看 | 顶级嫩模啪啪呻吟不断好爽 | 久久九九免费视频 | 欧美成人一级 | 日韩中文视频 | 一级特黄欧美 | 黄色字幕网 | 精品国产乱码久久久久久牛牛 | 欧美久久久久久久久中文字幕 | 18视频网站在线观看 | 免费一级特黄特色毛片久久看 | 欧美激情片一区二区 | 一个色综合久久 | 热九九精品| 91国内揄拍国内精品对白 | 十大污网站 | 按摩毛片 | 大学生av | www亚洲一区 | 日韩一区欧美 | 噼里啪啦免费高清看 | 久草手机在线观看 | av中文字幕不卡 | 日韩毛片儿 | 成av人在线 | 国产激情无套内精对白视频 | 97人妻人人澡人人爽人人精品 | 一级黄色片在线免费观看 | 韩国久久久久久 | 免费色av | 男女洗澡互摸私密部位视频 | 91成人在线观看高潮 | 日大逼 | 国产成人在线观看网站 | 午夜精品久久久久 | 无码aⅴ精品一区二区三区浪潮 | 精品免费囯产一区二区三区 | 久久国产日韩欧美 | 在线播放精品 | 黄色午夜视频 | 日韩欧美成人免费视频 | 欧美性在线视频 | 亚洲性猛交xxxx乱大交 | 成人午夜sm精品久久久久久久 | 妺妺窝人体色www在线小说 | 亚洲 欧美 日韩 在线 | 日韩1024| 国产综合精品一区二区三区 | 手机在线看片福利 | 欧美视频色 |