19_05_01校內訓練[polygon]

題意

把一個邊長為1的正n邊形放到一個正m邊形中,要求m邊形完全覆蓋n邊形,可以有交點,并且中心重合。求正m邊形的最小邊長,至少精確到6位。要求logn計算。


?

思考

先考慮m|n的情況。

我們知道,正m邊形的邊長與可行區域(即可以完全覆蓋的那些角度)形成單射,當且僅當所有可行區域都成為可數的點時,答案最優。(可以理解為再縮小一點就無解了)

這樣不難證明,把正n邊形的幾條邊剛好卡在正m邊形上是最優的。如n=8,m=4:

這時正m邊形的邊長是容易計算的。相信大家都會初中數學。

這樣再考慮一般情況。由于是中心重合,正n邊形旋轉2π/m度后仍然是能被覆蓋的。

在所有可行的旋轉過程中,將最外圈的點連起來,仍然形成一個正多邊形,且邊數為lcm(n,m)。

例如,n=4,m=6:

用紫線圍出來的正12邊形即為正方形得到的結果。

至于正確性,在于所有的可行區域都是單點。

這樣一來,就可以直接轉化為上一個問題。公式認真推即可。


?

代碼

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long int ll;
 4 const double pi=acos(-1);
 5 ll n,m;
 6 ll gcd(ll x,ll y)
 7 {
 8     return x%y==0?y:gcd(y,x%y);
 9 }
10 ll lcm(ll x,ll y)
11 {
12     return x/gcd(x,y)*y;
13 }
14 double solve(ll n,ll m)
15 {
16     double len=1/(2*tan(pi/n));
17     double th=(n/m)*pi/n;
18     return tan(th)*len*2;
19 }
20 int main()
21 {
22     ios::sync_with_stdio(false);
23     cin>>n>>m;
24     double len=1/(2*sin(pi/n));
25     n=lcm(n,m);
26     double a=sin(pi/n)*len*2;
27     cout<<fixed<<setprecision(9)<<solve(n,m)*a<<endl;
28     return 0;
29 }
View Code

?

轉載于:https://www.cnblogs.com/GreenDuck/p/10799543.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449081.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449081.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449081.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

六度人脈 全球最高效的人脈法則(圖)

六度人脈這一概念&#xff0c;在20世紀60年代由美國心理學家Stanley Milgram提出并驗證。 所謂六度人脈&#xff0c;即地球上所有的人都可以通過六層以內的熟人關系鏈和其他人聯系起來。 通俗地說&#xff1a;“最多通過六個人你就可以認識地球上任何一個陌生人。” SNS(社會…

[轉]numpy中的np.max 與 np.maximum區別

轉自&#xff1a;https://blog.csdn.net/lanchunhui/article/details/52700895 轉載于:https://www.cnblogs.com/xianhan/p/10609319.html

JVM 的 Finalization Delay 引起的 OOM(java.lang.OutOfMemoryError:null at sun.misc.Unsafe.allocateMemory.)

今天在壓力測試環境某一個服務出現crash了&#xff0c;經過一番檢查&#xff0c;終于發現是由于JVM的Finalization Delay引起的&#xff0c;這個問題比較特殊&#xff0c;這里記錄一下。 這個服務是用Java寫的&#xff0c;主要完成的功能是根據特定的指令文件生成mp4文件&#…

win10 php7+apache2.4的配置以及遇到的問題及解決

首先進入PHP官網下載php7的版本,我下的是PHP7.1.28,在PHP的下載頁面注意劃紅線和綠線的地方(我畫的) 1.畫了紅線的意思是請使用由apache lounge提供的編譯文件,也就是點進藍色Apache lounge這里下載. 2.畫了綠色的線的意思是用Apache的話你必須使用Thread Safe(線程安全)的PHP…

緩存區的輸入輸出,字符串常用操作,實現strlen/strcpy/strcat/strcmp函數)

輸出緩沖區&#xff1a; 程序輸入的數據并不能立即顯示在屏幕上&#xff0c;而是先存儲在輸出緩沖區中&#xff0c;滿足一些條件后才顯示出來。 1、遇到\n后 2、遇到輸入語句 3、當輸出緩沖區滿4K 4、當程序結束 5、手動刷新 fflush(stdout) 緩沖區機制可以提高數據的讀寫速度…

理性分散投資 收益袋袋平安

理財錦囊 想要投資理財&#xff0c;不光可以選擇股票和債券這類入門產品&#xff0c; 實際上&#xff0c;還可選擇其他低風險及高回報的投資產品&#xff0c;例如外匯、期貨和商品。 針對此&#xff0c;幾位分析師預測了2014年各國經濟走勢的重點&#xff0c;協助散戶們分配…

AI一周熱聞:華為豪擲3.3億劍橋買地,自建光芯片工廠;比特大陸IPO失敗,組織架構調整...

導讀 華為豪擲3.3億劍橋買地&#xff0c;自建光芯片工廠蘋果春季發布會無硬件發布&#xff0c;轉型之心迫切比特大陸IPO失敗&#xff0c;組織架構調整&#xff0c;王海超任CEO特斯拉起訴小鵬汽車員工竊取商業機密英偉達發布GauGAN&#xff0c;線條色塊秒變逼真圖像用機器學習防…

Docker 環境:Nexus3.x 的私有倉庫

Nexus3.x 的私有倉庫 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 使用 Docker 官方的 Registry 創建的倉庫面臨一些維護問題。比如某些鏡像刪除以后空間默認是不會回收的&#xff…

虛擬環境vitualenv的使用

Python3開發之虛擬環境virtualenv與virtualenvwrapper 在使用 Python 開發的過程中&#xff0c;工程一多&#xff0c;難免會碰到不同的工程依賴不同版本的庫的問題&#xff1b; 亦或者是在開發過程中不想讓物理環境里充斥各種各樣的庫&#xff0c;引發未來的依賴災難。 此時&am…

find_first_of和find函數的區別

小記&#xff1a; find_first_of函數最容易出錯的地方是和find函數搞混。它最大的區別就是如果在一個字符串str1中查找另一個字符串str2&#xff0c;如果str1中含有str2中的任何字符&#xff0c;則就會查找成功&#xff0c;而find則不同&#xff1b;

銀行各類理財收益漸漲 各類寶錢景尚不明朗

這個春天&#xff0c;投資似乎進入了一個好事多磨的階段。央行一反先前支持的態度&#xff0c;開始對互聯網理財念起了“緊箍咒”。一時間&#xff0c;各種“寶”的命運變得撲朔迷離起來。盡管各種“寶”聲明&#xff1a;不受央行政策影響。而投資者內心的擔憂&#xff0c;恐怕…

Firefox 66回歸!修復多項臭蟲相關問題

上周最新版Firefox 66因為爆出會使微軟Office 365中的PowerPoint文字消失的臭蟲&#xff0c;Mozilla暫停發送。3月27日Mozilla重新釋出修補完成的最新版Firefox 66.0.2。根據Mozilla臭蟲報告網頁&#xff0c;Firefox 66除了造成Office 365中的PowerPoint文字消失的問題外&#…

PHP全棧學習筆記27

數組概述&#xff0c;類型&#xff0c;聲明&#xff0c;遍歷&#xff0c;輸出&#xff0c;獲取數組中最后一個元素&#xff0c;刪除重復數組&#xff0c;獲取數組中指定元素的鍵值&#xff0c;排序&#xff0c;將數組中的元素合成字符串。 數組概述&#xff0c;數組是存儲&…

Docker : 數據卷(創建、掛載、查看、刪除)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 數據卷 數據卷 是一個可供一個或多個容器使用的特殊目錄&#xff0c;它繞過 UFS&#xff0c;可以提供很多有用的特性&#xff1a; 數據卷…

mac地址和ip地址的區別(轉)

先糾正一下幾個比較模糊的概念&#xff1a;“MAC地址表儲存IP地址”&#xff0c; MAC地址表是二層設備中存儲“MAC地址”和“轉發端口”映射關系的表&#xff0c;并不直接存儲IP地址。 “路由器根據MAC地址來選擇路由進行數據發送”&#xff0c;對于三層設備的三層端口來說&…

你是否發現 職業能力危機,請 警惕

身在職場&#xff0c;你有不有遭遇職業能力危機呢 ? 核心競爭力的增長是職業持續性發展的基礎&#xff0c;隨著年齡的增長和工作經驗的積累&#xff0c;有的職場人士保持著良好的發展勢態&#xff0c;有的卻越來越落伍&#xff0c;競爭力越來越弱。只有能力跟得上變化&#x…

你的GitHub,怎么和我用的不太一樣?

說起代碼托管&#xff0c;相信絕大多數人腦海中浮現出的第一個詞都是“GitHub”。經過多年的發展&#xff0c;GitHub儼然已經成為了代碼托管領域的標簽…隨著國內互聯網環境的優化&#xff0c;互聯網產業鏈的不斷壯大&#xff0c;越來越多的產業被拉入到了互聯網中來&#xff0…

Windows下多個JDK版本的切換方法

問題 因我之前在window中無法命令行輸入&#xff0c;后來發現是電腦中存在多個JDK&#xff0c;導致設置混亂。于是&#xff0c;我繼續深入研究了當電腦存在多個JDK的情況下&#xff0c;如何設置想要的JDK版本。步驟 1.更改環境變量 進入環境變量的配置界面&#xff0c;將JAVA_H…

哈哈哈,只有程序員才懂的黑色幽默 ... ...

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 也是機緣巧合&#xff0c;讓我一個之前工作從未接觸過程序員的人&#xff0c;現在成天和程序員打交道&#xff0c;要知道&#xff0c;不…

二維數組指針

概括的說&#xff0c;指針其實就是可變數組的首地址&#xff0c;說是可變數組&#xff0c;是 指其包含內容的數量的可變的&#xff0c;并且是可動態申請和釋放的&#xff0c;從而充 分節約寶貴的內存資源。我一向喜歡一維數組&#xff0c;除非萬不得已&#xff0c;我一 般是不用…