m113

今天的比賽頗有感觸,因此來寫一下題解:函數

T1能夠發現一些規律是:面積擴大的速度顯然比周長擴大的速度快,而後就能夠枚舉周長來看能爲成的面積,其實最優的狀況必定是六邊型的狀況,經過手膜咱們能夠發現對於邊長是c的六邊型,每增長一個周長,也就是增長6次就會變成c+1的六邊型,這其中的六次增長每次所圍成的面積的增長量分別是c-1,c,c,c,c,c+1,具體的畫一下圖就能夠看出來了!測試

 

 然而考試的時候我並無畫圖,我來大概的說一下考試的思路,其實若是不想看能夠直接看下一道T2,能夠自動跳過,反正也不是啥正解,並且WA了spa

考試的時候我就想必定是六邊型的狀況是最優的,可是我是枚舉中間的最長的那個的長度,而後就會發現這其中就是一個多峯函數(注意不嚴謹,打表發現會出現斷崖式降低的狀況,反正對拍的時候三分鍋了!)而後我就經過找到最優的中間值來求解這個問題,可是我少考慮了一種極其sb的狀況就是n==3的時候,會發現,我只會構造類6邊形的的圖形,因此鍋了(此時發現$n==3$鍋了的時候是距考試結束還有4分鐘的時候,心態已經沒了!)blog

正解就是上面說的,個人代碼打的比較鬼畜!bfc

 

 T2 其實本身以爲挺大神的,大佬勿噴!im

T2咱們把它建出來邊就會發現他是一棵內向基環樹:就是這樣的一棵樹d3

 

 然而在題目的部分測試環境中,會由於其中有不優的邊而變成一棵數,那麼咱們想一下一個點會不會被取的狀況:其實對於一棵樹來講咱們均可以取到,(注意又是不嚴格的,準確的說是除了葉子節點都能取到)由於要取他只會取他的父親,可是他自己的數量並不改變,對於樹的狀況就直接硬搞就能夠了(然而我太弱了,考試的時候硬搞都寫錯了!)db

那麼對於一棵基環樹咱們應該咋辦能!套路式的斷掉一條環上的邊,那麼咱們究竟斷哪條邊呢? img

咱們能夠對於一棵基環樹若是環上的邊小於樹上的邊,那麼這個邊必定不優,就能夠斷掉這條邊,從而變成一棵樹,而後就能夠硬搞了,比賽

對於沒有這種狀況的,就要找環上的邊與樹上的邊的權值差最小的邊,而後幹掉他!

這樣作顯然是對的!

至於實現,咱們不妨維護每個點的最大的和次大的兒子,而後直接dfs,就這樣就能夠了;維護最大和次大的思路仍是沒有想到!

T3 鴿鴿鴿咕咕咕!

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息