{{adMap.article_top.title}}
{{adMap.article_top.cta}}

Re: CodeForces R-457 pB
程式設計板 {{ articleMoment(createdAt) }}

嗯經過了一個小時與我覺得是k(lg k)的超麻煩還不知道對不對的做法奮鬥之後 現在帶來的是k(lg k)的優質做法 雖然我也不知道對不對🙄🙄 就是勒 把n是哪幾個2的次方的和丟到一個priority queue裡面 (例如n=23就把4 2 1 0丟進去) 如果這時候pq的大小>k表示無解 如果有解 就每次都挑max pop掉 再push兩個max-1進去 一直到pq的大小=k為止 就是答案啦 來說說超麻煩的k(lg k)好了 因為最大的那個必定介於lg(n/k)~lg n之間 (大於lg(n/k)是因為 如果最大的小於lg(n/k) 那最後加起來不可能到n 小於lg n應該不用解釋啦) 然後就遞迴跑啦 f(n, k)會對於所有max= lg(n/k)~lg n的整數 去跑 如果f(n-pow(2, max), k-1)存在解就把它算出來 不存在就繼續下一個max 如果不存在任何一組合法的解就輸出No啦 因為總共k層 每層都要跑(lg n) - (lg(n/k)) = lg k次 所以應該是k(lg k)啦 然後 如果答案沒有-1 -1這種鬼東西的話 這解法應該是對的 可是它就是有 我又很偷懶不想處理小數🙄🙄


  回文

你可能有興趣的文章...

{{adMap.article_bottom.cta}}
{{adMap.article_bottom.title}}
{{adMap.article_bottom.content}}

全部留言

B1 {{commentMoment( "2018-01-20T02:03:44.804Z" )}}

其實就算是-1 -1,這個解法還是會對

其實就算是-1 -1,這個解法還是會對
0
B2 {{commentMoment( "2018-01-20T02:04:44.343Z" )}}

如果你是寫greedy解的話

如果你是寫greedy解的話
0
B3 (原 Po)   {{commentMoment( "2018-01-20T05:03:56.438Z" )}}

B1  f(n-pow(2, max), k-1)裡面的n-pow(2, max)會變成小數 感覺開double會有誤差🙄🙄

B1  f(n-pow(2, max), k-1)裡面的n-pow(2, max)會變成小數 感覺開double會有誤差🙄🙄
0
B4 {{commentMoment( "2018-01-20T06:53:59.655Z" )}}

B3 可以考慮開long double(? 不然就只好自己實作分數了。。。

B3 可以考慮開long double(? 不然就只好自己實作分數了。。。
0


登入後發表留言






確定要刪除此文章?
Re: CodeForces R-457 pB

嗯經過了一個小時與我覺得是k(lg k)的超麻煩還不知道對不對的做法奮鬥之後 現在帶來的是k(lg

檢舉{{reportFloor? '留言B'+reportFloor: '文章'}}
檢舉{{'原po回覆B'+reportFloor+'留言'}}
請選擇刪除文章原因
請選擇刪除留言原因
您即將進入之文章內容需滿十八歲方可瀏覽

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於網站首頁或各該限制級網頁,依台灣網站分級推廣基金會規定作標示。若您尚未年滿十八歲,麻煩點選離開。若您已滿十八歲,一樣不可將本區之內容派發、傳閱、出售、出租、交給或借予年齡未滿18歲的人士瀏覽閱讀,或將本網站內容向該人士出示、播放或放映。

離開
問題讀取中...稍待60秒...