2015-03-09
这种事情当然是找老师要建议最好啦
按我经历
基础语法学完后(这个应该很快),你可以先找个oj 有标题目类型的那种 然后找一般基础竞赛书 比如什么信息学竞赛基础教程什么的
然后先自学一遍,顺序是 排序 贪心 二分 回溯 深搜 广搜
(ps1:其实深搜和回溯差不多 不过我看的那本书似乎把他们当成两课)
(ps2:这些内容本身是互相渗透的 比如排序就用到二分 )
好了 以上都是基础思想和必备的方法 学完之后 再刷一两道题熟练一下 你基本上就可以开始……真正的自学了
然后接下来学
动态规划(线性递归、背包问题、树型递归、区间递归什么的)
搜索(记忆化搜索,分支定界,A*算法什么的)
树的结构(线段树 归并树 划分树 树状数组什么的)
图论(最短路的n种求法 每种复杂度都不一样; 还有最小生成树,好像有两种求法;差分约束系统;欧拉回路什么的; 有能力的再看看网络流)
数论(欧几里德算法 扩展欧几里德算法 线性同余方程 筛法求素数 康托展开 进制转换 取模运算 位运算 快速幂 catlan数 等等 有兴趣的还可以看看矩阵什么的)
杂项: 字符处理,这个其实说简单也很简单 你在语法那里肯定都学过了,还有一些求子序 列的,像Sunday算法 KMP什么的 ,不过说实话用处不大……
高精度算法,完全没有技术含量 就是繁
还有离散化 hash什么的.............
搞完这些如果你还有时间的话 去看看算法导论什么的书吧
凑凑活活自学完以上几项后 noip基本上可以拿奖了吧 看你的省份了 海南什么的妥妥省一 福建之类的要看你是否发挥正常 浙江什么的要看你发挥是否超常……
江苏的呢
江苏今年的省一分数线比福建略低 位列全国第四……别的算法书我推荐 刘汝佳的那本 算法竞赛入门经典......