P.4-39 4.5.2上方的那段文字中倒數第三行 原為:"還要小幾個3個數量級的小實數" 改為:"還要小幾個數量級的小實數" P.4-43 習題4-6 莫爾斯電碼 原為:"如果有多個單字精確匹配,任選一個輸出並且後面加上「!」" 改為:"如果有多個單字精確匹配,任選一個輸出並且後面加上「?」" P.5-3 倒數第二段 原為:"可以使用zhang3:my_good_function()和li4:my_good_function()" 改為:"可以使用zhang3::my_good_function()和li4::my_good_function()" P.5-12 例題5-2 原為:樣例輸入與輸出誤植>>>>要刪掉>>>> 改為:"所有操作結束後,輸出每個位置的木塊列表清單,按照從底部到頂部的順序排列。" P5-46 習題5-16第二段 原為:"編號較小的病人優先進入編號較小的恢復室" 改為:"在編號較小的手術室做手術的病人優先進入編號較小的恢復室" P6-39 第一段 原為:"從二維情形的4個增加到了三維情形的8個。" 改為:"從二維情形的4個增加到了三維情形的6個。" P7-43 圖7-28上一段 原為:"輸出所有10的任務執行完畢所需的最少時間。" 改為:"輸出所有10的程式執行完畢所需的最少時間。" P8-18 情況2 原為:"把j和k交換後k原來所在的船仍然不會超重(因為j比k輕)," 改為:"把j和k交換後k原來所在的船仍然不會超重(因為k比j輕)," P8-32 倒數第二段 原為:"對於固定的i,不難用lower_bound滿足" 改為:"對於固定的i,不難用lower_bound找到滿足" P8-37 第一段最後 原為:"則所求答案為..."後的公式 改為:"則所求答案為f(k,b) - f(k,a-1)。" P8-49 最後一段 原為:"如圖8-29所示" 改為:"如圖8-32所示" P9-28 倒數第一段 原為:"因為只有少數狀態需要列印)。" 改為:"(因為只有少數狀態需要列印)。 P9-44 第一段 原為:"(例如,你不能把左腳放到右箭頭上,右腳放到左箭頭上)。" 改為:"(即:你不能把左腳放到右箭頭上,並且右腳放在左箭頭上)。" P9-49 例題9-23第一段 原為:"一些小孩圍成一圈玩遊戲。" 改為:"一些小孩(至少有兩個)圍成一圈玩遊戲。" P9-50 最後一段題目修改 原為:"其實,第一個....." 改為:"不需要給狀態增加一維,而只需規定第一個串的正向串放在最前面,在動態規劃結束之後檢查所有i為全集的狀態,考慮第一個串和最後一個串的重疊部分即可,細節請參考程式碼範例。" P9-56 原為: "決策1:直接消去方塊j,轉移到d(i,p-1,0)+(j-p+1)2。 決策2:列舉q=0)個0的..." 原為:"則當且僅當Oj+d<=Zi+1時" 改為:"則當且僅當Oj+d>=Zi+1時" 原為:"同理,當且僅當Zi+d>=Oj+1時 改為:"同理,當且僅當Zi+d>=Oj時" 本段加上一句"另外,使用上述公式時別忘了判斷1和0是否已經全部收完。" P9-60 例題9-31上一段文字 原為:"計算出所有d(i,L)的中間結果,然後....." 改為:"計算出所有d(i,L)的中間結果,然後把所有有定義的d(i,L)放到一個優先佇列中,按照從小到大的連續處理。處理d(i,L)時,看看是否有符號j滿足:d(j,0)為空字串,並且存在規則t->ij或者t->ji。如果存在,把d(t,L)指定值為d(i,L)並加入優先佇列中。" P9-64 原為:"習題9-4 串折疊(Folding, ACM/ICPC NEERC 2001, UVa1630)" 改為:"習題9-4 串折疊(Folding, ACM/ICPC NEERC 2002, UVa1630)" P10-14 解題與分析的那段文字 原為:"想像有k+1個數字「1」排成一排,..." 改為:"想像有k+n個數字「1」排成一排,..." P10-18 原為: int euler_phi(int n) { int m = (int)sqrt(n+0.5); int ans = n; for(int i = 2; i <= m; i++) if(n % i == 0) { ans = ans / i * (i-1); while(n % i == 0) n /= I; } if(n > 1) ans = ans / n * (n-1); } 改為: int euler_phi(int n) { int m = (int)sqrt(n+0.5); int ans = n; for(int i = 2; i <= m; i++) if(n % i == 0) { ans = ans / i * (i-1); while(n % i == 0) n /= i; } if(n > 1) ans = ans / n * (n-1); return ans; } P10-33 例題10-14 原為:"求n人賽馬時最終名次的個數" 改為:"求n人賽馬時最終名次的可能性的個數" P10-35 第二段 原為:"過每條河的時間為L/v與3L/v的均勻分佈," 改為:"過每條河的時間為L/v到3L/v的均勻分佈," P10-38 第一段 原為:"在p=t~P:1上的積分。" 改為:"在p=t~1上的積分。" P10-39 例題10-22題目文字 原為:"列出整數a、b,統計a,a+1,...,b中," 改為:"列出整數a、b,統計a和b(包含a和b)之間的整數中," 最後加一句:"注意,a有可能大於b。" 第二段解題與分析文字 原為:"表示0~n中數字d出現的次數" 改為:"表示0~n-1中數字d出現的次數" 原為:"則所求的就是fd(b)-fd(a-1)。" 改為:"則所求的就是fd(b+1)-fd(a)。" P10-42 例題10-27文字 原為:"求從原點能看到多少棵樹。" 改為:"求從原點能看到多少棵樹。設這個值為K,要求輸出K/N,其中N為網格中樹的總數。"