如何评价《深入浅出程序设计竞赛 - 基础篇》?

各位收到书稿的来评价一下呗
关注者
189
被浏览
292,278

30 个回答

从淘宝的高教旗舰店买的,12月初才有货,刚刚收到书稿。由于在OI被虐的九年给我带来的影响实在是太深远,所以打算来写个长文祭奠青春。

我也算是个退役很久很久很久的ZJ老蒟蒻了,第一次摸OI还要追溯到初一,那时候看着蓝到刺眼的Pascal屏幕瞬间粉上了,第一次编译通过时还高兴了很久很久。期间用过rqnoj,vijos等OJ,私底下也搓过绍兴一中那边自己研发的CCR测评器,再就是2014年注册的洛谷。我的ID是四位数5219,相比于现在40w+的新用户已经是元老等级了,因此作为那个时期混上来的小蒟蒻,我见证过洛谷一次次的更新换代,对它有着别样的感情。

接下来切入正题,也就是客观公正地评价深基的质量。语言基础部分开门见山,直截了当,顺序、分支、循环、函数、数组、字符串一气呵成。组织顺序不仅对小朋友很友好,即使对CS专业的大一萌新也是入坑的不二之选。举个栗子,下面就是我这种科班出身不屑于多讲,而萌新们就是懂不进去的玩意:

嵌套分支语句部分的阐述

短短两段话把初学者最容易搞混的东西全部讲清楚(不要问我咋知道的,数院同胞的代码能力啊...),同时还不忘强调缩进这种良好编程习惯的重要性。这种地方随处可见,比如“多重循环”部分贴心地把内层、外层的循环列了张表格,而且几乎每个算法下面都有非常详尽的分析,对真正零基础入门的小朋友来说,简直就是把知识点嚼碎了让他们吞。如果说刘汝佳男神《入门经典》这本书让很多的OIer得以登堂入室,那我可以说《深基》让算法设计不再面目可憎,能鼓励更多的小朋友从事OI行业。依我的观点看,这本书配得上“深入浅出”的招牌。

到了后面的算法部分,我感觉《深基》和我当年入坑的培训用书在内容规划上大同小异。算法部分的内容安排可谓中规中矩,而且难度上也能基本达到ZJ以外PJ省一的要求。值得称赞的一点就是,在最需要实战演练的算法部分,洛谷本身的题单资源能得到最充分的利用,能帮助小朋友们从通过CSP初赛开始,逐渐AK IOI。

洛谷上“I AK IOI”的老梗了

从我这么多年受虐的经历来看,大量优质的练习在学习算法的过程中必不可少,而这正是洛谷《深基》的一大特色,即书本资源和OJ资源完全配套。这是很多超级神作,如CLRS、刘汝佳男神“黑书”所不能提供的,因此很期待后面的进阶版出现,嘿嘿~~

最后说说我个人觉得稍有不足的数据结构部分。如果说这本书有什么瑕疵的话,我想也就数据结构了,既然是评价我就实话实说,望kkksc03大佬莫锤我... 第三部分的组织顺序有点迷,线性表里面栈、队列属于线性表逻辑结构的扩充,顺序表(数组)和链表属于存储结构,就这么杂糅着讲,不利于刻画数据结构的本质。如果能在讲线性表、集合、图、树这四大逻辑结构前放个总领篇,告诉小朋友们怎么用ADT刻画数据结构,不知会不会更好。内容上也没有给人眼前一亮的感觉,甚至可以说还不如纯粹的数据结构课本(如王红梅版《数据结构》)。对小朋友来说,想要看懂这么“显然”的结论肯定有困难;对于有点基础的读者来说,看了也没有那种洞悉本质的畅通感。

这个“显然”有数学分析内味了...

我能理解这是“基础篇”,那些更高级的图算法及其应用也确实可以略去。因此我只是在此提出个人建议,希望kkksc03大佬在写进阶篇图论部分的时候,能借鉴一下现今比较流行的大学数据结构教材,在体系上再好好斟酌一下。但从总体上来看,这本《深基》绝对称得上算法入门的佳作。

声明一点,我绝对不是水军,我购买《深基》的动机是帮数院的学弟学妹更快入门算法。我自己打了这么久的OI,因此根本不知道初学者会在哪里卡住,这才希望找一本更适合初学者入门的读物。之前我通过付费咨询也和kkksc03本人交谈过,再结合我拿到本书的切实体会,对《深基》慎重地给出五星好评,并会将它和洛谷一起推荐给更多非CS科班的学弟学妹。

最后稍稍跑个题,想阐述一下我对现在OI环境的看法。我初中的时候还有保送机制,到了高中也有自主招生,但是现在只剩了个强基计划,且CS还不算基础学科。从利益的角度来说,现在做OI的性价比越来越低了,CSP-J/S的奖项作为升学门槛的功效也被进一步弱化,而想要在ZJ这种拼出个省队那是几乎不可能。但是!我衷心祝愿比我小的每一个OIer都能坚持下去,你们是以后CS行业的储备人才,更是中国AI未来的希望。如果没有温州绣山中学傅振杰教练对我的启蒙教育,我绝不可能在短短两个月时间内学会keras并靠CycleGAN拿软件创新大赛的全国二等奖,也更不会光速投身于人工智能科研工作,收到自动化所的offer。把目光放得更长远,OI给你们的是牢不可破的基础,是以后在CS界一骑绝尘的资本,因此祝你们在信息学竞赛的道路上拥抱真理逐梦想,与洛谷共辉煌!

利益相关:不言而喻,一目了然

因为各种原因咕了大半年的《深基》现在终于开卖了。

因为利益相关,我认为这本书可能是是各类算法竞赛入门最佳读物,没有之一。

其实《深基》在多次FMT上都有放出风声,而且书稿也作为了普及组课程的赠品,不算是秘密的状态。实际上这本书去年这个时候就已经交稿了,但是因为疫情,出版局一直在咕版号审批。最后在十一的时候终于传来喜讯:终于成功出版!

非常感谢高等教育出版社编辑的努力,也感谢其它几名作者的成果。

为什么我觉得这本书好呢?其实核心的卖点写在了封面上:

  • 覆盖算法竞赛语言、基础算法,打好坚实基础;

    本书从介绍 C++ 语言开始,各个击破程序设计竞赛中的基础考点,包括各种基础算法、数据结构和数学知识。这些都是重中之重,如果没有掌握这些知识,继续深入的学习就如同试图建设空中楼阁。这些知识对读者的数学水平要求不高,有初中的数学基础即可阅读。
  • 深入浅出,解答“是什么、为什么、怎么办”的问题;

    正如本书的书名一样,本书力求使用浅显易懂的语言讲述各种深刻的算法思想,因此读起来生动有趣,而不是面对冰冷的数学符号和代码。每个专题中都会以精心选择的例题为主线,先介绍这个知识点是用来干什么的;然后花费大量的篇幅,图文并茂地介绍各个知识点的详细过程和代码实现方法;最后结合题目,介绍了如何将算法应用到实战中。有些例题甚至介绍了多种不同做法,帮助读者拓展思维,举一反三。
  • 适用人群:备战 NOIP、ICPC 等算法竞赛的初阶选手;

    本书的多数例题都配备代码风格良好的示例代码,可以帮助读者更好地学习算法如何使用代码实现。在讲解的过程中给出了大量的算法竞赛中需要注意的琐碎问题,这些都是前人的经验之谈,希望读者可以少走弯路。
  • 近 400 道例题和习题,可以在线提交评测。

    本书有约 400 道例题和习题。为了节约阅读时间和篇幅,例题和习题都只保留了题意简述。大部分的题目都可以在洛谷中找到并提交代码评测,还可在洛谷阅读其他同学提供的题解并进行讨论。题目选材范围多样,覆盖了应当学习了解的知识点。如果读者能够完全掌握这些题目,相信可以有相当程度的进步。

至于内容,直接给大家看看目录:

《基础篇》涉及了一些最简单的入门算法的知识点。应对 NOIP(CSP) 普及组完全足够,而高中生应对提高组在刚开始学的时候也是不错的入门方式。当然也适用于参加 *CPC 系列竞赛的大学生入门或者其它的相关读者。

有些同学提问为什么没有动态规划。一个原因是因为篇幅问题,动态规划不是一章就可以讲清楚的,需要至少一个部分;而这一部分丢在基础篇又会显得过于冗长(不太喜欢拆分)。其次是动态规划比较抽象,思维难度还是有一些的,所以入门阶段选手不如使用枚举、搜索等方式获得部分分,那么不如把这一大块内容放在《进阶篇》中好好的呈现。

至于《进阶篇》——虽然会继续咕,但是进度还是有一点一点往前挪动的。预计在明年初能放出书稿,正式出版会比较久。

实拍图:

样书到手后,立刻觉得爱了爱了。封面和封底有很多洛谷相关的小彩蛋,用纸考究,封面贴心的增加了一个折页保护书籍。厚度不薄不厚,有分量但又不会觉得很重。摸起来会非常舒适。

这里可以放出几页来供大家试读,了解一下这本书的风格和很多传统的算法竞赛教材的不同:


除了配套题库(其实是现有洛谷后有深基),我们还打算开源配套课件,这个课件会非常好看,排版要远优于某蓝底、非等宽字体的课件。不过可能也没那么快。

但不管怎么说,毕竟是我的心血,而且确实是按照我认为正确的理念编写的教材,而且书稿的评价也很好,所以如果你是符合本书的读者,那么非常推荐入手并且学习这本书。


洛谷官方已经上架。在洛谷官方网店上购买本书虽然是原价,但是可以获得限量版的官贩初回限定套装!包括

  • 《深入浅出程序设计竞赛 基础篇》一本
  • 洛谷明信片×4
  • kkksc03 签名图样印章(kkksc03亲自盖印)
  • 首发纪念信封

由于直接给出链接会被逼乎判定为垃圾广告,烦请移步至淘宝搜索书名找到我们的网店

除此之外,对于从官方渠道大批量购买本书的学校(50本或者以上),视购买数量可以获得洛谷高级团队一半甚至全额的费用减免。

除此之外,可以在京东、当当或者天猫搜索“深入浅出程序设计竞赛”,都可以找得到。也可以点击下面的链接(京东)

由于刚印刷出来,可能有一些备货不足的情况,单一渠道可能会卖断货(感谢感谢),也可以前往其他渠道(天猫,当当)购买。

最后,尽管这本书花费了我很多心血,但因为时间仓促,难免会存在瑕疵与疏漏。欢迎读者朋友们指正或提出建设性意见,以便再版时改进。如果在阅读中发现任何问题,欢迎在洛谷的讨论版中发帖并 @kkksc03。