tedukuri 是「手作り」的意思,读作「てづくり」(近似英文 tezukuli),指的是由《算法竞赛进阶指南》的作者、读者一起,用自己的双手共同维护的资源社区。为此,我们选择了 GitHub 这个世界上最大的 Programmer Community 作为支持平台。
目前,这个repo里包含以下内容:
- 第一版(2018年1月第一次印刷)最新勘误(更新于2018年6月5日)
- 第二次修订(2018年6月印刷)最新勘误(更新于2018年11月26日)
- 第三次修订(2018年11月印刷)最新勘误(更新于2018年11月26日)
- 第四次修订(2019年4月印刷)暂无勘误
- 第五次修订(2019年9月印刷,印数13001-17000)暂无勘误
- 本书每次印刷都有修订和更新(其中第二、三次修订变化较大),只是为了避免重新申请ISBN码,所以第X版在版权页标注的都是第一版第X次印刷。
- 包含本书专用题库、最新题目提交地址和标程、数据配备情况的附录表格
- 最新配套内容(随时更新习题翻译、标程、测试数据、习题题解等)
相比原书第一版配套光盘,这个repo已经先后多次增加了数十道POJ题目和BZOJ题目的测试数据,以及OJ未收录题目的测试数据,请参照提交历史(commits)或者最新的附录PDF。 相比第四次修订版配套光盘,这个repo于2019年8月17日补齐了全书99%题目的测试数据。
- 可以直接点击页面上的绿色按钮"Clone or download",下载整个zip压缩包(由于你懂的原因,速度可能会比较慢)。
- 也可以在本地安装Git命令行或图形界面客户端,git clone(克隆)项目仓库,以后每次执行git pull都可以快速地增量更新。
- 还可以找到想要的文件,直接右键另存为(只能保存单个文件,不能保存文件夹,数据文件较多时会比较麻烦)。
可以访问Contest Hunter上的本书专用题库,这里对书中大部分例题、习题均有收录,并公开测试数据和所有用户提交的代码。另外AcWing也翻译并收录了本书全部题目。
不熟悉的读者可能觉得书上的部分题目在BZOJ上找不到,这是因为BZOJ隐藏了部分题目(又称为权限题),只对收费的VIP用户开放。
- 可以联系BZOJ管理员,购买2年VIP服务,价格在几百元左右,到了NOI阶段BZOJ上的题目有很高的价值。
- 你也可以访问CH上的本书专用题库,直接免费做到这些题目中的绝大部分(原本是国内外公开比赛的题目)。
可以去OpenJudge上的百练题库搜索一下题目标题,OpenJudge也是北大运营的,题目与POJ有很大重合。 另外,本书专用题库已经实现了对OpenJudge的远端评测 (Virtual Judge),也可以直接提交。
- 即使是国内正规的比赛、最近新兴的OJ上(Luogu, CodeVS, LibreOJ等)的题目,很多也是翻译、借鉴自国外的idea。对于同种idea的题目,出于尊重原创者的考虑,我们一般会以最早的来源为标准。
- 提高英文水平(至少到能看懂题面的程度)对于日后阅读科学文献和PKU/THU的选拔都很有帮助,很快你就会习惯了,不会耽误你的时间。
- 实在是觉得费劲的话,可以Google/Bing一下"POJXXXX"或题目标题等关键字,搜索引擎可能会给出别人总结的题意,甚至是在其他中文OJ上的翻译版本噢!不过缺点是你可能会不小心搜到题目的解法。
除作者不断收集外,当读者获得数据或自己生成了数据,或者认为自己的解法独具一格、代码很具有参考价值时,非常欢迎为这个repo作出贡献。您的用户名将会永远地记录在提交历史 (commits) 中,并展示在 contributors 页面。您将对自己的改动负责,因此请确保其没有版权问题。
作为一名程序员,学习使用 Git 是一项基本生存技能。下面的步骤是给不熟悉 Git 相关流程的读者阅读的:
- 注册 GitHub 账户,并
fork
这个repo的最新副本到自己的账户下。 clone
该副本到本地计算机,并创建一个新的分支 (branch)。- 作出改动,在自己的分支上提交 (commit),并写上一句简短、恰当的改动说明。
- 打开一个
Pull Request
,请求合并改动到原repo,等待审核通过或得到修改意见。
更详细的指南请参考 Git 手册。您可能需要安装软件来获得 Git 命令行或图形化界面工具。