[請益] ACM UVa 10032 Tug of War(已解決)

看板Prob_Solve (計算數學 Problem Solving)作者 (十三)時間14年前 (2010/08/07 10:45), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
感謝各位高手的指導, 最後我宣告一維的long long array, 使用bit運算將時間縮短到0.160s, 已經很滿足了。 程式碼在這裡︰http://code.google.com/p/uvaoj/source/detail?r=131 有需要的人可以拿去改,或看diff比較和之前版本的差異。 Bleed =============================================================== 中譯題目︰http://www.tcgs.tc.edu.tw/~sagit/luckycat/q10032.htm Knapsack 0/1背包問題,但要求兩邊人數最多相差1。 勉強在2秒左右AC,但是看到排名有一堆接近0.000s的。 應該有O(n)的解法,但我想不出來,請高手指點,謝謝。 Bleed -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.126.63 bleed1979:轉錄至看板 C_and_CPP 08/07 10:55

08/07 12:02, , 1F
看了一下之前寫的也是兩秒多...
08/07 12:02, 1F

08/07 22:39, , 2F
我之前是用位運算常數優化 跑0.8s左右吧
08/07 22:39, 2F

08/08 00:20, , 3F
同樓上做法 0.2秒左右 I/O用scanf printf會比cin cout快@@
08/08 00:20, 3F

08/08 03:28, , 4F
感謝指導,我從位運算來著手。
08/08 03:28, 4F
※ 編輯: bleed1979 來自: 114.43.126.63 (08/08 06:25)
文章代碼(AID): #1CNCYxwC (Prob_Solve)
文章代碼(AID): #1CNCYxwC (Prob_Solve)