推 Zennstrom:那題只有想過sort input, 然後從後面用暴力法硬幹 Q_Q 02/25 07:49
→ chucheng:正解是用BACK TRACKING 或 DP,我有寫暴力法,但考官 02/25 08:32
→ chucheng:看來不覺得那個方法是對的 (也許是我連暴力法都錯了吧) 02/25 08:33
→ lovdkkkk:好像就是背包問題的 DP? 02/25 08:35
→ lovdkkkk:不過 30 分 用 C 的話有點緊 02/25 08:35
推 manlike:先想出遞迴式,就簡單多了,再用table記算過的就變DP。 02/25 09:10
→ chucheng:面試的難點就是你要一邊說話一邊寫CODE 02/25 09:16
→ chucheng:每次考官丟個問題像是(你為什麼這樣寫,然後指著某行) 02/25 09:16
→ chucheng:然後我切回英文回答再回到程式就當機了 02/25 09:16
推 manlike:暴力法就是單純遞迴式,程式碼30行以內,你應該是寫太複雜 02/25 09:27
推 manlike:考官看到就覺得是錯的XD 就跟他講我用stack模擬遞迴XD 02/25 09:29
推 lovdkkkk:邊寫還邊聊啊 好恐怖 @@ 02/25 09:30
→ bleed1979:FB沒偏愛PHD是對的。 02/25 09:49
→ andymai:一心二用、雙手互搏?所以平常要一邊寫code~一邊聽音樂跟著 02/25 10:22
→ andymai:唱來訓練自己? 02/25 10:22
→ final01:電影中不是要邊喝啤酒邊寫code XD 02/25 10:30
→ final01:現在面試已經算輕鬆了吧 ? 02/25 10:30
→ Eior:用巢狀迴圈把題目當數學解。3*a+5*b+7*c…,a<(n/a) b<(n/b)… 02/25 11:06
→ Eior:很好寫,但資料多很快就炸。 02/25 11:08
→ final01:那就是暴力 02/25 11:26
→ onlyeric23:跟DP零錢問題差不多 02/25 12:12
→ amos6064:大學上機考試用暴力破解法教授根本不會讓我們過 02/25 12:48
→ amos6064:寫的快不如寫的巧 02/25 12:48
推 jlhc:這真的平常要練... 我對acm的題目大約在大學中就開始淡忘了 02/25 12:56
推 Wolfken:我是不太懂解ACM題目解得快不快跟工作能力有什麼太大關聯 02/25 13:15
→ Wolfken:最好是他工作天天都是在解這些題目... 02/25 13:15
→ amos6064:請問樓上你.....有再寫程式嗎?還是都是複製貼上呢? 02/25 13:24
→ andymai:要看工作內容吧?很多都不需要解到這種題目~或是人家早就造 02/25 13:36
→ andymai:好輪子了~如果不是造得不好~又何必浪費時間? 02/25 13:37
推 s410294:請問原po的學歷? 02/25 13:59
推 shaolin:我玩過兩年的 FB hacker cup,幾乎都是這類問題 02/25 15:29
→ shaolin:所以徵才用這種題目感覺不太意外 02/25 15:30
→ shaolin:不變的都是要處理很大很大的數字還有 special case 02/25 15:31
→ superbuddha:樓上shaolin高手 02/25 16:14
→ enthos:工作時要隨時連線自備的資料庫。旁邊放100本書。 02/25 18:21
推 bobju:這類題目真的要有練過,而且腦袋又靈光才行. 02/25 19:28
推 Adonisy:原來都有題庫,這樣有 意義嗎? 02/25 23:31
→ blackwindy:先建質數表然後跑DFS? 我看起來好像只是這樣 02/25 23:43
→ blackwindy:是我理解錯誤嗎? 02/25 23:43
→ manlike:DFS就是遞迴~ 用stack模擬遞迴 = = 02/25 23:45
→ manlike:用DFS就是遞迴~ 不過就是用stack模擬遞迴.. 02/25 23:46
→ blackwindy:遞迴是一種方式,DFS是一種搜尋演算法 不能混為一談 02/25 23:48
→ manlike:我是指這題, 你用DFS的想法其實就是遞迴 = = 02/25 23:49
→ blackwindy:意義不明...你真的懂遞迴的定義嗎 02/25 23:50
→ blackwindy:這題也用不到DP...只是DFS跑過一遍就沒了 02/25 23:51
→ manlike:你知道這題是NP問題嗎? 02/25 23:52
→ blackwindy:這題不是NP問題 他只是要求SET 02/25 23:52
→ blackwindy:我貼我的CODE 如果我沒理解錯誤的話 等喔 02/25 23:53
→ manlike:有人說背包問題不是NP問題!!! XD 02/25 23:53
→ blackwindy:你自己跑看看吧,不然就是我理解題目有誤 02/25 23:55
→ StubbornLin:挺好奇ACM那種解題能力對於工作有多少幫助 02/25 23:57
→ blackwindy:你直接看執行結果 02/25 23:58
→ blackwindy:如果他分數是可以重複的話那就應該NP了 02/26 00:01
→ blackwindy:我想想 02/26 00:01
→ manlike:你可以試試 N=10000 會發生什麼事~ 02/26 00:01
→ blackwindy:但實際上他N只有100 如果題目出10000我當然會換方法 02/26 00:03
→ blackwindy:而且他要的是全部列出來 02/26 00:03
→ blackwindy:題目說要全部的,只有全跑才可能窮舉 02/26 00:03
推 manlike:所以DP他就有用了~ 02/26 00:04
→ manlike:還有就算分數不能重複~ 它還是NP問題~ 典型0-1背包問題 02/26 00:06
→ blackwindy:也不是說dp就特別有效率,不然你dp來解N = 10000 02/26 00:06
→ blackwindy:N = 100這種維度下...好啦理論上他是NP問題 你滿意了? 02/26 00:08
→ blackwindy:NP也沒甚麼大不了的...看你需求是甚麼 02/26 00:12
推 DJWS:ACM寫的好表示自主學習能力很強 因為學校沒教這個 02/26 10:42
→ DJWS:另一方面也代表腦袋很靈活 理解能力配合的上實作能力 02/26 10:43
推 DJWS:至於解的那些題目有沒有用 絕大部分一輩子用不到一次吧~ 02/26 10:47
→ DJWS:就跟學生時代寫作業一樣 寫作業不是為了拿來做實際用途 02/26 10:53
推 Wolfken:應該說ACM練得勤的人,通常對程式也蠻有熱情的,所以其他 02/26 15:23
→ Wolfken:方面也不會差,但也不代表ACM沒在練的人實際寫起來會比較 02/26 15:23
→ Wolfken:差,我是覺得面試考這種有點偏了,考實際工作會遇到的問題 02/26 15:24
→ Wolfken:像是debug,profiling,一些code的原理跟應用,還有一些基 02/26 15:25
→ Wolfken:礎知識像是OS,網路,db比較貼近實際 02/26 15:25
推 Wolfken:當然這個不是不該考,只是應該算加分題而不是關鍵題 02/26 15:28
推 danielguo:這題不是 Knapsack problem, 背囊問題有重量和價值 02/26 15:52
→ danielguo:這題 DP 是正解, 也不是 NP 問題, 線上解題常出現 02/26 15:53
推 DJWS:演算法課本上就有0/1背包問題了 考課本的東西應該不為過吧~ 02/26 17:21
→ DJWS:只要把價值改成true/false就好了 還有這題是NP問題... 02/26 17:24
→ danielguo:這題不是 0-1 Knapsack problem 02/26 18:21
→ danielguo:啊, 我可能弄錯了 02/26 18:24
→ danielguo:解法是 pseudo-polynomial time, 所以還是 NP, 抱歉 02/26 18:25