作者:
anfranion (å—‧生命的æ„義是經æ·)
2012-03-24 18:59:35助教好~
我想問一下PA2
N, S, Si, Vi測資分別的上下限是多少呢?
// 怕會加到integer overflow :P
先謝謝助教了~
借這篇問一個:我用Dynamic programming跑測資時,跑到n1000S10000還可以,但是到n10000S100000就爆了,建出紀錄表時,因為dimension是10000x100000,在malloc()時掛點(segmentation fault)。我看了一下發現是死在10000x80000左右,不確定是不是記憶體滿了之類的,想知道是不是上限太大的緣故,謝謝。
作者:
anfranion (å—‧生命的æ„義是經æ·)
2012-03-24 23:15:00應該是吧~我猜可能不能開連續的 (就是DP[10000][10000]這種開法...可能要dp = new int*[N] 然後 dp[i] = newdp[i] = new int[S] 之類的~不過好的做法應該是記憶體只用一維~(上面那句話好像有問題...請先忽略XD)
喔,我是new出來的沒錯,不是static,還是掛
作者:
anfranion (å—‧生命的æ„義是經æ·)
2012-03-25 13:58:00我這樣new可以喔,是不是有access到超過的範圍呢?或者是你不是在工作站上跑 是在自己的電腦?自己的電腦的話記憶體可能不會可以開這麼大
作者:
anfranion (å—‧生命的æ„義是經æ·)
2012-03-25 19:29:00因為那個case大概會需要7G~8G的記憶體一般的電腦不可能開得起來XDrz
作者:
anfranion (å—‧生命的æ„義是經æ·)
2012-03-26 21:34:00記得丟到工作站試試喔XD
作者:
Usoul 2012-03-27 23:01:00測資不會刁難大家,範圍大概就跟題目附的測資差不多不過大家還是可以想辦法將可擴展性增加。因為我應該會丟一組稍微難一點的來增加辨別度...
原來不能是 static 啊!感謝!!!用 static n1000S10000 就爆了 @@
樓上我是用new,可在工作站上輸出檔案但仍有記憶體錯誤