高手给的训练计划
一般要做到 50 行以内的程序不用调试、100 行以内的二分钟内调试
成功.acm 主要是考算法的
,主要时间是花在思考算法上,不是花在写程序与 debug 上。
下面给个计划你练练:
第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,
同时自己精简代码,
因为太常用,所以要练到写时不用想,10-15 分钟内打完,甚至关掉
显示器都可以把程序打
出来.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个 prim,kruscal 要用并查集,不好写)
3.大数(高精度)加减乘除
4.二分查找. (代码可在五行以内)
5.叉乘、判线段相交、然后写个凸包.
6.BFS、DFS,同时熟练 hash 表(要熟,要灵活,代码要简)
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
8. 调用系统的 qsort, 技巧很多,慢慢掌握.
9. 任意进制间的转换
第二阶段:练习复杂一点,但也较常用的算法。