2012年11月19日星期一

《算法竞赛入门经典》全书例题习题代码

为OI做的最后一件事,也是一直以来,我的某个宏伟计划的一部分。(这个计划可能也就止于此了……)

首先,请淡定。这里提供的不是《入门经典》上提供的UVa习题的源代码,而是书上所有例题和小结中习题的源代码,包括书上只给出思路而没有提供代码的题目。

另外,第5章的UVa推荐题目的前半部分也被包括在这些代码中。(真相是我做了这些以后发现时间紧迫,就再也没时间继续做下去了……于是就此夭折……)

有些代码是从网上找到别人写的标程以后自己慢慢理解然后模仿着写出来的。我不是神犇,不可能每个都会自己写。说直白点,有几个几乎就是背过然后默打的……我也忘了都是在哪找的了(反正是来自百度和google),所以就不附链接了。如果有人不满意,可以留言。



下载地址:

入门经典.rar

(url:  http://pan.baidu.com/share/link?shareid=133770&uk=1646007183 )

欢迎按本博客侧栏Copyright部分声明的规则进行共享。

于是,可以暂时比较坦然地放下OI了。

2019年06月22日更新:

没想到过了这么多年,依然有人通过这个链接来到这里。其实这个博客早已处于半荒废状态,也没有什么人访问,但每次在后台看到零星几个访客来到这个页面,我都觉得,就算仅仅是为了这个目的,也要把这个网站维持下去。

为了让这些(现在看来非常naive的)代码能够更好地发挥作用,我把它们转移到了GitHub上,地址在此:https://github.com/Xivid/aoapc-bac1nd。其实这本书已经有第二版了,作者也放出了官方的代码,建议大家尽量参考新版。

目前已知的问题:

(我并不打算维护这些代码,如果这些代码确实很垃圾的话,那么过段时间就会销声匿迹了,否则,还请大家本着OI精神进行增删、更新……反正我是已经完挂+退役的了……)

例题7-1 最优程序:我使用的BFS比较垃圾,无法通过全部测试数据(会爆内存)。

8.3.1 棋盘覆盖问题: 我把题意理解错了,实现的程序比较“高级”,不能算是错吧,但是输出是不符合题目要求的,我把它复杂化了,不同类型的骨牌标上了不同的数字……大家试一下就会明白我的意思了。所以程序写得很冗长。(当初花费了本蒟蒻两节课的时间调试这个程序!)

8.3.3 巨人与鬼:看起来太麻烦了,“极角”什么的看起来晕晕的,于是没写这个。