《深入浅出程序设计竞赛》勘误

kkksc03

2020-10-21 10:27:40

Personal

感谢读者阅读本书。因为作者有时候脑抽或者其他原因,本书不可避免出现一些疏漏。我们每次印刷都会尝试修正。如果你读书时遇到了一些困惑,也有可能是书确实写错了。 我们勘误时会记录第一次给提出这个错误的读者的用户名。感谢所有读者的反馈。 进阶篇书稿错误反馈收集:<https://shimo.im/sheets/oFycLZIzveopR6BX/MODOC> # 2022 年 x 月第六次印刷 ## 严重错误 这类错误存在概念或者事实性错误,可能会对读者产生误导。 ## 中等错误 这类错误因为疏忽而出现,虽然不至于误导读者,但是可能会给读者造成迷惑,一些读者可以意识到写错了。 ## 小错误 这类错误包括错别字或者语病、笔误,不影响意思,读者不一定可以意识到这些错误。 - P226 最后一段,`如果一个结点除了……` 应为 `如果一个二叉树除了……`。自己发现 - P226 代码倒数第3行,`value[2] > value[3] ? winner[3] : winner[2]` 应外加圆括号。@a_mouse # 2021 年 7 月第三次印刷 / 2021 年 12 月第四次印刷 / 2022 年 5 月第五次印刷 ## 严重错误 这类错误存在概念或者事实性错误,可能会对读者产生误导。 ## 中等错误 这类错误因为疏忽而出现,虽然不至于误导读者,但是可能会给读者造成迷惑,一些读者可以意识到写错了。 - P37,图 2-5,“x是0或1?”应该为“x不是0且x不是1?”。@littlekayen - P167,例 12-2,代码第 12 行,sum 变量应该使用 long long 类型。@fufufu0601 - P226,例 16-1,第一段第一行 `1>>n` 应为 `1<<n` 。@anantheparty - P299, 推论3第5行, `a的质因子个数`,应改为 `a的因子个数` @bowen404 ## 小错误 这类错误包括错别字或者语病、笔误,不影响意思,读者不一定可以意识到这些错误。 - P78,例 5-10,代码第3行注释,`dight` 应为 `digit`。@冰封侠 - P85页 delta=mmax-mmin 这一行后面缺了`;`号 - P107,最下方代码中的注释,`右上方矩阵` 和下面一行的 `左下角矩阵` 对调。@Hack3rD - P161,例 11-6,倒数第二段,`ABF[4RA[2A]B[3C]]` 应为 `ABF[2RA[3A]B[2CD]]`@@Laofei - P249,代码16行的 `de` 应为 `ds`,倒数第4行改为 `cout << ds.size() << endl;` @Pretharp - P272, d[1] 的值 `01100010` 应为 `01100001` - P271,倒数第二行 `提成` 应为 `提升` @ynliao - P272,图 19-5,d[1] 的数字应为 01100001 @bowen404 - P275,例 19-8 逻辑运算性质 6) A+A=1 改为 A+非A=1,A·非0=0;例 19-9 分析 4) A=(y=0) 应为 A=(y≤0) @bowen404 - P286,代码下面第一行 `改代码计算` 应为`该代码` @ynliao - P292,例 21-5 题目第2行,`依次` 应为 `依次判断` @bowen404 - P295,定义 21-3 第1行,`d,|a_2` 应为 `d|a_2` @bowen404 - P299,第1行, 第二个`(10, 16)`应改为`[10, 16]` @bowen404 - P290,第一段程序第4行的 `i++` 应当改为 `k++` @Jeremy_Mandel # 2020 年 10 月第一次印刷 / 2020 年 11 月第二次印刷 ## 严重错误 这类错误存在概念或者事实性错误,可能会对读者产生误导。 ## 中等错误 这类错误因为疏忽而出现,虽然不至于误导读者,但是可能会给读者造成迷惑,一些读者可以意识到写错了。 - P59,例 4-11,倒数第二段,`就要改成 s+=++i` 应为 `就要改成 s+=i++`。自己发现 - P95,习题 6-3, `和 3 个 girl` 应为 `和 2 个 girl` @Fее_cle6418 - P100 运行步骤 2),`变量 x1、y1、x2、y1` 应为 `变量 x1、y1、x2、y2`;`x1=3,y2=0,x2=0,y2=4` 应为 `x1=3,y1=0,x2=0,y2=4` @Fее_cle6418 - P133,图9-6,第四轮的图中5所对应的牌应当在9对应的牌的的前面。@wzmzmhk - P138 例 9-6 代码 cmp 函数应为:自己发现 ``` int cmp(student a, student b) { if(a.total != b.total) return a.total > b.total; // 总分先定胜负 if(a.chinese != b.chinese) return a.chinese > b.chinese; // 然后比语文 return a.id < b.id; // 最后比学号 } ``` - P139 例 9-7 代码 6,7 行应为:@Fее_cle6418 ``` if(a.x.length() != b.x.length()) return a.x.length() > b.x.length(); ``` - P248 例 17-6 详见 <https://www.luogu.com.cn/paste/fh6n4mz1> @ProjectWTA - P313 公式第 4 行应为 $=\frac{1}{2}[\frac{1}{6}n(n+1)(2n+1)+\frac{1}{2}n(n+1)]$。自己发现 ## 小错误 这类错误包括错别字或者语病、笔误,不影响意思,读者不一定可以意识到这些错误。 - P11,第二段 `使用第6行的宏定义的方法` 改为 `使用 #define 宏定义的方法` - P11,第四段,`和下画线(_)` 应为 `和下划线(_)`。@Fее_cle6418 - P13,习题1-2,`(两个下画线)` 应为 `(两个下划线)`。@Fее_cle6418 - P16,表格2-1,第二行第三列应该是`-128~127`,不是`~128~127`;第六行第三列应该是`0~2^{64}-1`,不是`0~2^{24}-1`;@hy1089knigh @Roy_king - P40,例3-7 `小于18.5kg` 应为 `小于18.5kg·m^{-2}`,后两点也是这样的。 @吴晗 - P45,例3-12 `前面8位` 等 3 处改为 `9位` @Foryou - P45,例3-12 代码第 13 行 `print` 应为 `printf`。@uniqueharry - P52,例4-5分析第3段`产生一个0到RAND_MAX的函数`应改为`产生一个0到RAND_MAX的整数`@Wu_while - P54 表4-5 外层循环行为并没有用粗体表示。以及,表头的 `j<n-i+1?` 应当为 `j<=n-i+1?` @Fее_cle6418 及 自己发现 - P85,例6-2:分析中 `转换为0到26的数字`" 应为 `转换为0到25的数字`。@桑塔露琪亚 - P90 例6-7分析第3段,将其变成 "ak" 应为 将其变成 " ak "(前后少了空格)@Fее_cle6418 - P95,小提示蓝框,第三行的 `(第6行)` 应为`(第7行)`。@raymie - P101,例7-1,`ans()函数` 应为 `ans 变量`。@Fее_cle6418 - P108,例7-9,代码第2行`#define MAXN 1024` 应为 `#include<string>`。@eric888 - P154,图11-3 最上面的楼梯应该是f[i]不是f[i-2]。@mamingxiao - P155,例11-1,代码倒数第二行,`f.print()`改为`f[N].print()`。@hanyy213 - P164,第一段第 2 行,`和经验,平在考场上放平心态` 应为 `和经验,在考场上放平心态`。自己发现 - P164,第二段第 2 行,`即使目关短浅`应为`即使目光短浅`。 @Fее_cle6418 - P173,习题12-8,`每个小组的顺序必须实力值连续且互不相同` 应为 `每个小组中,成员的实力值排序后,必须是连续且互不相同的整数数列。` - P177,第一行,`左闭左开`,应为 `左闭右开`。@Fее_cle6418 - P196,例14-5,第三段,`刚好可以使用深度优先搜索` 应为 `刚好可以使用广度优先搜索`。自己发现 - P201,习题14-8,规则中,`A_1->B_1, A_1->B_1` 应为 `A_1->B_1, A_2->B_2` 。@Laofei - P208,例15-4 代码第 12 和第 18 行 `print` 应为 `printf`。@Laofei - P213,例15-8 最后的 queue 的用法中第 6) 和 7) `s` 改为 `q`。@wzmzmhk - P237,习题16-8 `ASCⅡ`应为 `ASCII`。 - P258,例18-3 `(Breadth First Search, DFS)`应为 `(Breadth First Search, BFS)`。@houpingze - P262,例18-6 第三段`八边形为出度为 0 的点` 应为`六边形为出度为 0 的点`@Fее_cle6418 - P264,习题18-6,第二行,`m(n<=10^5)` 应为 `m(m<=10^5)`。@Fее_cle6418 - P285,前面的程序的第 5 行 的输入好像少了个分号,也就是 `cin >> n >> m;` @洪荒少女_Autumn - P290,例21-3 的题目名称应为 `找循环节` 而不是 `找寻环节` @Fее_cle6418 - P308,第2行 `errer`应该为 `error` @钱柯滨 - P312,例B-1 在洛谷题库中编号为 P5745 而不是 P5475 @Fее_cle6418 **你谷人均列文虎克!**